Я построил современный ванильный 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
действительно намного медленнее ?!
Если компилятор работает медленнее, чем ожидалось, передача -ftime-report
Флаг может помочь понять, что происходит.
К счастью, это также помогло в этом случае: -ftime-report
GCC напечатано
«Включены дополнительные диагностические проверки; Компилятор может работать медленно.
Настройте с помощью —enable-check = release, чтобы отключить проверки. ‘
Томас соответственно перестроил компилятор из исходного кода, и проблема исчезла!
Других решений пока нет …