LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1226|回复: 13

fc9比centos慢很多?实例为证

[复制链接]
发表于 2008-12-12 22:20:16 | 显示全部楼层 |阅读模式
两台完全相同配置的机器,一台装fc9,一台装centos5,运行同一个程序测试fc9怎么比centos5慢很多呢?
cpu q6600 内存:4G

测试程序:
#include <stdio.h>

int main()
{
        int i,j,k;
        for (i=0; i<100000; i++)
                for (j=0; j<10000; j++)
                k = 1;

        return 0;
}

fc9:time testtime

real    0m3.009s
user    0m2.986s
sys     0m0.000s

centos:time testtime

real    0m2.475s
user    0m2.422s
sys     0m0.001s


谁能给解释解释?(在fc9上编译)
发表于 2008-12-13 01:37:36 | 显示全部楼层
1. 最好用单用户模式运行一下看看。
2. k=1这个用来作Benchmark不是太合理,编译器可能会做优化,最好用更复杂一点的运算。
3. 用getimeofday在运算前后,然后取差
4. 多次计算,求平均值
5. optional: 尝试看看空loop的耗时
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-13 10:27:02 | 显示全部楼层
其实做了很多运算都感觉慢,然后才写了这个小程序测试的。还有也测试过快速傅立叶变换等运算,结果都是慢很多。一直没有找到原因。
k=1编译器可能做优化,但是我的程序是在fc9上编译的,可执行程序直接copy到centos上运行,理论上应该对fc9优化到最佳。
回复 支持 反对

使用道具 举报

发表于 2008-12-13 10:38:59 | 显示全部楼层
按道理,像这样的程序执行速度和操作系统没有任何关系。可能是一些后台进程产生影响。都启动到单用户模式下试过了?多次求平均值?做benchmark可以很复杂,甚至做完一次都重启一下机器,消除cache的效应。

如果单用户模式还有这么大的差别,要不这样,把两台机器的系统互换一下,看看结果,当然是有空有兴趣的前提下;)
回复 支持 反对

使用道具 举报

发表于 2008-12-13 11:15:32 | 显示全部楼层
自从内核进入2.6以来,在国外很多次的测试中得到的结论是2.6.9是2.6.*中效率最高的版本。出现新版本比旧版本慢的情况很正常,在某些应用中甚至2.4内核的效率高于2.6。
回复 支持 反对

使用道具 举报

发表于 2008-12-13 11:24:47 | 显示全部楼层
你认为redhat卖钱的东西会跟不卖钱的东西一样?哈哈!!
如果一样,redhat早就垮了!!centos来源于rhel
回复 支持 反对

使用道具 举报

发表于 2008-12-13 12:53:58 | 显示全部楼层
还不如直接开个 glxgears ,然后告诉我们桢数。。。
回复 支持 反对

使用道具 举报

发表于 2008-12-13 13:04:09 | 显示全部楼层
请教楼主那个测试时间是怎么输出的?
回复 支持 反对

使用道具 举报

发表于 2008-12-13 13:21:35 | 显示全部楼层
Post by true5toss;1923289
请教楼主那个测试时间是怎么输出的?


直接用time命令
time xxx
就可以知道xxx的执行时间
回复 支持 反对

使用道具 举报

发表于 2008-12-13 23:45:28 | 显示全部楼层
Post by pingz;1923286
还不如直接开个 glxgears ,然后告诉我们桢数。。。


您真哏儿。告诉您,您能给个啥建设性意见?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表