Pull to refresh

Comments 22

Из статьи как-то кажется, что ничего интересного, кроме LTO, не сделали. На самом деле, реализовали дофига всего из C++14.

Няшки из С++
Improved support for C++11, including:
support for ;
The associative containers in and and the unordered associative containers in <unordered_map> and <unordered_set> meet the allocator-aware container requirements;
Improved experimental support for the upcoming ISO C++ standard, C++14, including:
fixing constexpr member functions without const;
implementation of the std::exchange() utility function;
addressing tuples by type;
implemention of std::make_unique;
implemention of std::shared_lock;
making std::result_of SFINAE-friendly;
adding operator() to integral_constant;
adding user-defined literals for standard library types std::basic_string, std::chrono::duration, and std::complex;
adding two range overloads to non-modifying sequence oprations std::equal and std::mismatch;
adding IO manipulators for quoted strings;
adding constexpr members to , , , and some containers;
adding compile-time std::integer_sequence;
adding cleaner transformation traits;
making s operator functors easier to use and more generic;
An implementation of std::experimental::optional.
An implementation of std::experimental::string_view.
The non-standard function std::copy_exception has been deprecated and will be removed in a future version. std::make_exception_ptr should be used instead.

распределитель регистров памяти

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

Потребовалось сколько лет для того, чтобы осознать, что цветные терминалы — это не роскошь? :-)
И средства диагностики :-)
По-моему это просто никому не нужно. Вот и делали с низким приоритетом. Куда важнее, например, поддержку C++11 было сделать быстрее.
По-моему это просто никому не нужно

Пока не появился clang и не показал насколько это удобно
Примерно 12 лет от первой версии фильтра colorgcc :3
Там ещё немало улучшений в стандартной библиотеке. Наконец-то std::regex заработал.
regexes in stl? классно. я как-то по старинке использую boost.regex
Да, появился он там ещё во времена 4.7.4, или даже раньше. Даже, что-то пытался делать, но жестоко обломился, когда попробовал [] использовать. В общем: www.cplusplus.com/reference/regex/
А как там с поддержкой транзакционной памяти интеловских процессоров?
Поддержку добавили ещё в GCC 4.7: www-users.cs.umn.edu/~boutcher/stm/
Вроде бы на данный момент всё что есть в Intel TSX поддерживается.
Отличная новость, ждём в дистрибутивах!

Помимо OpenMP 4.0 добавлена поддержка Cilk Plus:
Support for Cilk Plus has been added and can be enabled with the -fcilkplus option. Cilk Plus is an extension to the C and C++ languages to support data and task parallelism. The present implementation follows ABI version 1.2; all features but _Cilk_for have been implemented.

Смутила фраза:
Кстати говоря, в LLVM/Clang вообще отсутствует поддержка хоть какой-нибудь версии OpenMP.
Как же, вот: clang-omp.github.io/. Если мне не изменяет память, релиза с поддержкой OpenMP пока не было, но будет.
благодаря LTO использование памяти при компиляции Firefox уменьшилось с 15 ГБ до 3,5 ГБ

Скорее вопреки, без LTO немного памяти надо. 15 ГБ это на старых версиях GCC и с LTO.
Критерий Ализара второго рода: переводная (но не отмеченная как перевод) статья из вторичного источника, по малознакомой автору теме.

Значительно улучшено качество оптимизации при сборке (link-time optimization, LTO), а также внедрены некоторые другие алгоритмы оптимизации, в том числе межпроцедурная оптимизация и оптимизация с обратной связью (feedback-directed optimization).
И не при сборке, а при компоновке, и FDO уже в GCC почти с начала ветки 4.0, а межпроцедурная оптимизация появилась в GCC ещё раньше.
Возник вопрос: и как успехи?

Сам все никак не решусь перейти пока замаскирована, и так на ~amd64 ветке сижу, периодически проблем со сборкой хватает.
Множество косяков с поддержкой LTO и Graphite — либо в компиляторе, либо в самих программах. Для пары десятков пакетов пришлось отключить, иначе вообще не линкуется (обычно — не находит адресов каких-либо функций).
GCC 4.9.0 благодаря патчу от Intel поддерживает расширения Advanced Vector Extensions 512 (AVX-512)

Теперь не надо покупать Intel Composer XE 2013 для Xeon Phi?
Существующий на данный момент Xeon Phi использует набор инструкций LRBni, который несовместим с AVX-512.
Для Xeon Phi почти всегда достаточно использовать открытый компилятор ispc.github.io. Всё равно код придётся переписывать под mic.
Sign up to leave a comment.

Articles