Надеюсь, это поможет больше, чем ранит:)
Я снимал компилятор чуть больше года назад, и у меня не хватает памяти.
- GCC 4.2 (Apple)
- Intel 10
- GCC 4.2 (Apple) + LLVM
Я протестировал несколько шаблонных программ для обработки тяжелых звуковых сигналов, которые я написал.
Время компиляции: компилятор Intel был безусловно самым медленным компилятором - более чем в 2 раза медленнее, как цитировалось в другой публикации.
GCC очень хорошо обрабатывает глубокие шаблоны по сравнению с Intel.
Компилятор Intel сгенерировал огромных объектных файлов.
GCC + LLVM дал наименьший двоичный файл.
Сгенерированный код может иметь значительные различия из-за конструкции программы и места, где может использоваться SIMD.
Что касается того, как я пишу, я обнаружил, что GCC + LLVM генерирует лучший код. Для программ, которые я написал до того, как серьезно относился к оптимизации (как я писал), Intel в целом был лучше.
Результаты Intel варьировались; некоторые программы работали намного лучше, а некоторые - намного хуже. Он очень хорошо справлялся с необработанной обработкой, но я даю торт GCC + LLVM, потому что когда он помещается в контекст более крупной (нормальной) программы ... он работает лучше.
Intel выиграла «из коробки», число хрустило на огромных наборах данных.
Один GCC генерировал самый медленный код, хотя он может быть таким же быстрым с измерениями и нано-оптимизацией. Я предпочитаю избегать этого, потому что ветер может изменить направление, так сказать, со следующим выпуском компилятора.
Я никогда не измерял плохо написанные программы в этом тесте (т. Е. Результаты превосходили дистрибутивы популярных библиотек производительности).
Наконец, программы были написаны в течение нескольких лет с использованием GCC в качестве основного компилятора того времени.
Обновление: я также включил оптимизации / расширения для Core2Duo. Программы были достаточно чистыми, чтобы включить строгие псевдонимы.