Снижение производительности при использовании GCC-4.5.0
14-го апреля этого года GNU выпустила GCC-4.5.0. И вот теперь стало известно, что при компиляции с ключом -Os (оптимизация по размеру исполняемого файла) полученный исполняемый файл работает гораздо медленнее, чем скомпилированный с теми же параметрами компилятором версии 4.3.
В списке рассылки разработчики GCC поясняют, что это связано с новой логикой разворачивания iniline-вставок при оптимизации -Os: теперь они разворачиваются только если это приведёт к уменьшению размера исполняемого файла (ревизии 158278 и 159931).
Изменения привели, например, к тому, что браузер FireFox при сборке GCC-4.5 теряет на различных тестах от 4 до 19 процентов производительности, причём и в 32, и в 64-битной сборке.