我已经使用这些标志从svn构建了一个最新的vanilla GCC :
../configure \ --enable-languages=c,c++ \ --disable-nls \ --enable-multilib \ --prefix=/opt/other/gcc-svn \ --program-suffix=-svn \ --with-system-zlib
首先用clang 3.4
,然后我认为它可以铛的错(与一粒盐)和重建GCC一次
多用GCC 4.8.1
,这导致了完全相同的结果.
当我尝试使用大约编译C++项目时,生成的GCC 比GCC 4.8.1慢大约17秒.150k行代码.
这些是我得到的构建时间(-O3):
g++ 4.9
:48秒
g++ 4.8
:31秒
clang 3.4
:13秒
我错过了configure
一面旗帜还是GCC 4.9
真的那么慢?!
如果编译器比预期的慢,那么传递-ftime-report
标志可以帮助弄清楚发生了什么.
幸运的是,在这种情况下它也有所帮助:-ftime-report
GCC印刷
'启用了额外的诊断检查; 编译器可能运行缓慢.配置--enable-checking = release以禁用检查.
Thomas相应地从源代码重建了编译器,问题就消失了!