Почему gcc 4.9 (trunk) такой медленный?

Я построил современный ванильный GCC от СВН с этими флагами:

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

Сначала с clang 3.4, тогда я подумал, что это может быть ошибка Clang (с крошкой соли) и однажды восстановил GCC
больше с GCC 4.8.1, что привело к точно такому же результату.

Полученный GCC примерно на 17 секунд медленнее, чем GCC 4.8.1 когда я пытаюсь скомпилировать проект C ++ с ок. 150 тысяч строк кода.

Эти строить раз я получаю (-O3):

  • g++ 4.9: 48 секунд
  • g++ 4.8: 31 секунда
  • clang 3.4: 13 секунд

Я пропустил configure флаг или GCC 4.9 действительно намного медленнее ?!

15

Решение

Если компилятор работает медленнее, чем ожидалось, передача -ftime-report Флаг может помочь понять, что происходит.

К счастью, это также помогло в этом случае: -ftime-report GCC напечатано

«Включены дополнительные диагностические проверки; Компилятор может работать медленно.
Настройте с помощью —enable-check = release, чтобы отключить проверки. ‘

Томас соответственно перестроил компилятор из исходного кода, и проблема исчезла!

29

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]