He creado un GCC vainilla actualizado desde svn con estas banderas:
../configure \ --enable-languages=c,c++ \ --disable-nls \ --enable-multilib \ --prefix=/opt/other/gcc-svn \ --program-suffix=-svn \ --with-system-zlib Primero con clang 3.4 , luego pensé que podría ser culpa de clang (con un grano de sal) y reconstruí GCC una vez
más con GCC 4.8.1 , lo que condujo exactamente al mismo resultado.
El GCC resultante es aproximadamente 17 segundos más lento que GCC 4.8.1 cuando intento compilar un proyecto de C++ con aprox. 150k líneas de código.
Estos son los tiempos de compilación que obtengo (-O3):
g++ 4.9 : 48 segundosg++ 4.8 : 31 segundosclang 3.4 : 13 segundos ¿Me perdí un indicador de configure o GCC 4.9 es realmente mucho más lento?
Si el compilador es más lento de lo esperado, pasar el -ftime-report puede ayudar a averiguar qué está pasando.
Afortunadamente, también ayudó en este caso: con -ftime-report GCC impreso
'Comprobaciones de diagnóstico adicionales habilitadas; el compilador puede ejecutarse lentamente. Configure con --enable-checking=release para deshabilitar las comprobaciones.'
¡ Thomas ha reconstruido el compilador desde la fuente en consecuencia y el problema desaparece!