LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: hubert_star

新版的gcc 4.4性能要比gcc 4.3好得多

[复制链接]
发表于 2009-4-28 00:00:06 | 显示全部楼层
Post by 没本;1980342
用gcc-4.3编译gcc-4.4,实际上是gcc-4.3编译生成gcc-4.4的stage0,然后gcc-4.4的stage0再编译自己,生成了stage1,然后stage1编译自己,生成stage2,最后比较stage1和stage2是否相同,如果相同,则gcc-4.4编译成功。

因此,你重新用gcc-4.4编译自己,性能不会有丝毫的提升,因为gcc一直是用同一个版本自己编译自己的,不同版本的gcc产生的stage0是不会被使用的中间产品。

但你没考虑硬件参数的情况,如果编译参数针对cpu优化了,肯定不一样。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-28 03:24:35 | 显示全部楼层
你测试一下就知道了,看看gcc能不能把你的flag加到编译选项里面去
回复 支持 反对

使用道具 举报

发表于 2009-4-28 06:29:32 | 显示全部楼层
Post by freeobject;1980357
但你没考虑硬件参数的情况,如果编译参数针对cpu优化了,肯定不一样。


Wrong!没本兄提到的就是 gcc 自身 bootstrap 过程,bootstrap 期间它会自行重置所有 CFLAGS,这是 gcc developers 刻意加入来确保编译的完整性

gcc-4.2 以前 bootstrap 是自选的,自 gcc-4.2 起就变成默认了,除非 configure 的时候用 --disable-bootstrap

Btw,建构系统的工具链(binutils、gcc 及 glibc),不宜加入任何优化参数。
回复 支持 反对

使用道具 举报

发表于 2009-4-28 10:37:44 | 显示全部楼层
编译优化 gcc 是可行的:
http://gcc.gnu.org/faq.html#optimizing

不过这个过于激进,还是安全第一。
回复 支持 反对

使用道具 举报

发表于 2009-4-28 12:32:25 | 显示全部楼层
学习了。:—)
回复 支持 反对

使用道具 举报

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

本版积分规则

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