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.
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.
+18
распределитель регистров памяти
ох…
0
Средства диагностики GCC 4.9.0 теперь работают в цвете, подцвечивая маркеры ошибок, предупреждения и т.д.
Потребовалось сколько лет для того, чтобы осознать, что цветные терминалы — это не роскошь? :-)
+13
И средства диагностики :-)
0
По-моему это просто никому не нужно. Вот и делали с низким приоритетом. Куда важнее, например, поддержку C++11 было сделать быстрее.
+2
Примерно 12 лет от первой версии фильтра colorgcc :3
+1
Там ещё немало улучшений в стандартной библиотеке. Наконец-то std::regex заработал.
+3
regexes in stl? классно. я как-то по старинке использую boost.regex
0
Да, появился он там ещё во времена 4.7.4, или даже раньше. Даже, что-то пытался делать, но жестоко обломился, когда попробовал [] использовать. В общем: www.cplusplus.com/reference/regex/
0
А как там с поддержкой транзакционной памяти интеловских процессоров?
0
Поддержку добавили ещё в GCC 4.7: www-users.cs.umn.edu/~boutcher/stm/
Вроде бы на данный момент всё что есть в Intel TSX поддерживается.
Вроде бы на данный момент всё что есть в Intel TSX поддерживается.
+2
Отличная новость, ждём в дистрибутивах!
Помимо OpenMP 4.0 добавлена поддержка Cilk Plus:
Смутила фраза:
Помимо 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 пока не было, но будет.
+1
>будущих процессоров Atom Silvermont
Уже не будущих, несколько месяцев как можно купить, например, ark.intel.com/products/78953/Intel-NUC-Kit-DN2820FYK
Уже не будущих, несколько месяцев как можно купить, например, ark.intel.com/products/78953/Intel-NUC-Kit-DN2820FYK
0
благодаря LTO использование памяти при компиляции Firefox уменьшилось с 15 ГБ до 3,5 ГБ
Скорее вопреки, без LTO немного памяти надо. 15 ГБ это на старых версиях GCC и с LTO.
+2
Критерий Ализара второго рода: переводная (но не отмеченная как перевод) статья из вторичного источника, по малознакомой автору теме.
Значительно улучшено качество оптимизации при сборке (link-time optimization, LTO), а также внедрены некоторые другие алгоритмы оптимизации, в том числе межпроцедурная оптимизация и оптимизация с обратной связью (feedback-directed optimization).И не при сборке, а при компоновке, и FDO уже в GCC почти с начала ветки 4.0, а межпроцедурная оптимизация появилась в GCC ещё раньше.
+7
Пошел пересобирать Gentoo…
+2
Возник вопрос: и как успехи?
Сам все никак не решусь перейти пока замаскирована, и так на ~amd64 ветке сижу, периодически проблем со сборкой хватает.
Сам все никак не решусь перейти пока замаскирована, и так на ~amd64 ветке сижу, периодически проблем со сборкой хватает.
0
GCC 4.9.0 благодаря патчу от Intel поддерживает расширения Advanced Vector Extensions 512 (AVX-512)
Теперь не надо покупать Intel Composer XE 2013 для Xeon Phi?
0
Существующий на данный момент Xeon Phi использует набор инструкций LRBni, который несовместим с AVX-512.
0
Для Xeon Phi почти всегда достаточно использовать открытый компилятор ispc.github.io. Всё равно код придётся переписывать под mic.
+1
Sign up to leave a comment.
Вышли компиляторы GCC 4.9.0 с множеством новых «фишек»