Pull to refresh

Вышли компиляторы GCC 4.9.0 с множеством новых «фишек»

Reading time 2 min
Views 28K
Якуб Елинек (Jakub Jelinek) от имени всех разработчиков свободных компиляторов GNU Compiler Collection из Фонда свободного ПО официально объявил о выпуске новой версии GCC 4.9.0.

«Один год и один месяц прошли с момента выпуска последней мажорной версии GNU Compiler Collection, — пишет Елинек, — так что пришло время объявить о новом основном релизе. GCC 4.9.0 несёт в себе важные новые функции, недоступные в GCC 4.8.x или предыдущих версиях GCC».

Среди самого главного можно отметить поддержку OpenMP 4.0, последней версии спецификаций программирования для многоядерных процессоров. Кстати говоря, в LLVM/Clang вообще отсутствует поддержка хоть какой-нибудь версии OpenMP.

Значительно улучшено качество оптимизации при компоновке (link-time optimization, LTO), а также улучшены некоторые другие алгоритмы оптимизации, в том числе межпроцедурная оптимизация и оптимизация с обратной связью (feedback-directed optimization). К примеру, благодаря LTO использование памяти при компиляции Firefox уменьшилось с 15 ГБ до 3,5 ГБ, а время выполнения этой процедуры — с 1700 до 350 секунд.

Средства диагностики GCC 4.9.0 теперь работают в цвете, подцвечивая маркеры ошибок, предупреждения и т.д.

Улучшена поддержка языка программирования C в стандарте ISO C11, а также сделана значительная работа по предварительной поддержке C++1y (C++14), реализована поддержка Google Go 1.2.1.

Во многом продвинулась поддержка ARM-процессоров, в том числе сделан новый местный распределитель регистров памяти для AArch64, оптимизация для Cortex-A53 и Cortex-A57 и архитектуры big.LITTLE, а также другие улучшения.

GCC 4.9.0 благодаря патчу от Intel поддерживает расширения Advanced Vector Extensions 512 (AVX-512), которые появятся в процессорах Intel не ранее, чем в конце 2015 года. Если говорить о поддержке оборудования Intel, то GCC 4.9.0 уже умеет генерировать бинарники, оптимизированные для процессоров Atom Silvermont и процессоров Broadwell, которые Intel выпустит уже в этом году. Процессоры AMD тоже не забыты: новая версия компилятора оптимизирует код для процессоров Bulldozer 4 / Excavator APU/CPU, хотя они выйдут только через год.

Добавлена поддержка процессоров IBM Power8.

Полный список изменений в GCC 4.9.0 см. в changelog’е. На сайте Phoronix можно найти бенчмарки, сравнивающие производительность GCC 4.9.0 по сравнению с предыдущими версиями и LLVM/Clang.
Tags:
Hubs:
+61
Comments 22
Comments Comments 22

Articles