Pourquoi gcc 4.9 (trunk) est-il si lent?

J’ai construit un GCC vanille à jour à partir de svn avec ces indicateurs:

../configure \ --enable-languages=c,c++ \ --disable-nls \ --enable-multilib \ --prefix=/opt/other/gcc-svn \ --program-suffix=-svn \ --with-system-zlib 

D’abord avec le clang 3.4 , alors j’ai pensé que c’était peut-être la faute de Clang (avec un grain de sel) et reconstruit une fois GCC
plus avec GCC 4.8.1 , ce qui a conduit au même résultat.

Le GCC résultant est environ 17 secondes plus lent que GCC 4.8.1 lorsque j’essaie de comstackr un projet C ++ avec env. 150k lignes de code.

Ce sont les temps de construction que je reçois (-O3):

  • g++ 4.9 : 48 secondes
  • g++ 4.8 : 31 secondes
  • clang 3.4 : 13 secondes

Ai-je raté un drapeau de configure ou est-ce que GCC 4.9 vraiment plus lent?!

Si le compilateur est plus lent que prévu, le passage de l’ -ftime-report peut aider à déterminer ce qui se passe.

Heureusement, cela a également aidé dans ce cas:

‘Contrôles de diagnostic supplémentaires activés; le compilateur peut fonctionner lentement. Configurez avec –enable-checking = release pour désactiver les contrôles. ‘

Thomas a reconstruit le compilateur à partir du source en conséquence et le problème a disparu!