为什么gcc 4.9(trunk)这么慢?

Tho*_*mas 15 c++ linux clang c++11 gcc4.9

我已经使用这些标志从svn构建了一个最新的vanilla GCC :

../configure \  
    --enable-languages=c,c++ \  
    --disable-nls \  
    --enable-multilib \  
    --prefix=/opt/other/gcc-svn \  
    --program-suffix=-svn \  
    --with-system-zlib
Run Code Online (Sandbox Code Playgroud)

首先用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真的那么慢?!

Ali*_*Ali 29

如果编译器比预期的慢,那么传递-ftime-report标志可以帮助弄清楚发生了什么.

幸运的是,在这种情况下它也有所帮助:-ftime-reportGCC印刷

'启用了额外的诊断检查; 编译器可能运行缓慢.配置--enable-checking = release以禁用检查.

Thomas相应地从源代码重建了编译器,问题就消失了!