Comments 18
Обновление компилятора само по себе важно дело. Производительность, исправление багов и т.д. Но 4.8.1 действительно сделало скачек. Требует внимания. Спасибо за статью!
GCC 4.8.1 собирает BulletPhysics с internal compiler error: Segmentation fault. Поэтому более старую версию лучше не удалять.
удалено, почему никак не добавят возможность изменения ветки сообщения после написания?
Есть мнение, что лучшая версия gcc — это clang :)
Вообщем, реквестирую бенчмарк с clang 3.3
Вообщем, реквестирую бенчмарк с clang 3.3
CoreMark, gcc и clang в свободном доступе — проверяйте. Мои данные говорят, что clang пока отстает.
CoreMark в условно свободном доступе: нужно зарегестрироваться, и согласиться с длинным текстом лицензии. Вчера я этот текст так и не осилил.
Да и процессор Intel Atom D525 в свободном доступе найти не просто!
Да и процессор Intel Atom D525 в свободном доступе найти не просто!
Clang отстает, ощутимо (пока), но на мой взгляд, он все же перспективней, чем GCC. Архитектура GCC представляет собой месиво из функций, причем, например, это нормально, когда бэкенд лезет чуть-ли не во фронтэнд за какой-либо нужной ему информацией. Изменение в любом компоненте может повлиять на большое количество мест и простой фикс выливается в огромый патч во всех модулях. Почитайте, например, недавнюю историю с переходом на компиляцию при помощи g++. С другой стороны, архитектура LLVM — стройный код, написанный в прадигме ООП. Разбираться и работать с ним одно удовольствие.
У gcc есть поддержка множества архитектур. Другим компиляторам такой поддержки добиться слабо реально. Этот факт застолбит часть будущего за gcc.
А множество архитектур — это сколько? Четыре десятка, учитывая те, что уже не производятся лет 10? Более того, архитектуру в компилятор добавить относительно не сложно.
Но, не отрицаю, что пока от GCC не уйти — очень много на него завязано всего.
Но, не отрицаю, что пока от GCC не уйти — очень много на него завязано всего.
будущее все равно за LLVM/clang
Мм… вопрос, а что мне надо к примеру под AMD A10? Какие параметры будут оптимальны под самое высокое быстродействие.
Самое простое универсальное решение —
Будет использовать все доступные на хост машине инструкции и пытаться оптимизировать по максимуму, учитывая некоторые особенности доступного процессора (размер кэша, например).
-march=native -O3
.Будет использовать все доступные на хост машине инструкции и пытаться оптимизировать по максимуму, учитывая некоторые особенности доступного процессора (размер кэша, например).
-O3 обычно не советуют использовать, т.к. программы становятся не стабильны.
Насколько вообще опасно его юзать, и что может произойти?
Насколько вообще опасно его юзать, и что может произойти?
Sign up to leave a comment.
«Зачем обновлять GCC компилятор?» или «Производительность GCC компилятора на Intel Atom от версии к версии»