LINUX.ORG.RU

Скорость компиляции С++ компиляторов


0

3

Есть ли где-то тест скорости С++ компиляторов? Гугл не знает. Кто-нибудь скорость тестил? Какой самый быстрый? ГСС г-но какое-то. Да и мне еще надо и под винду и под линукс компилить. Кто смотрел интеловский компилятор например? Какая у него скорость? Тесты есть где-нибудь? Всем спасибо за ответы.

ГСС г-но какое-то.

попробуй gcc.

Да и мне еще надо и под винду и под линукс компилить.

mingw, precompiled headers

nanoolinux ★★★★ ()

icc тот еще тормоз в сравнении с gcc

devl547 ★★★★★ ()

Clang быстрее у меня собирал, чем gcc. Если у gcc была ~минута и 20, то у clang ~50+ секунд. Можешь сам попробовать. По-моему, перед сборкой ппакета (в Cmake, по крайней мере, срабатывало) достаточно export CCX=clang++.

jeuta ★★★★ ()

Clang ощутимо быстрее. Кроме того, на скорость сборки больших бинарников влияет еще и время линковки, а стандартный линкер в gcc очень тормозной. Но можно собрать gcc с gold, будет почти так же быстро, как clang.

note173 ★★★★★ ()

Любопытно, для чего нужны быстрые компиляторы? Не проще добавить ядер и памяти в комп?

unC0Rr ★★★★★ ()
Ответ на: комментарий от trex6

Gold находится в официальной ветке binutils, но не собирается по умолчанию. Я делал сборку только тулчейна для андроида, там все скрипты уже были подготовлены и надо было только скачать последнюю официальную версию binutils и включить параметром использование gold в качестве стандартного линкера.

Как собирать в пакет на дистрибутивах — не знаю, в генте неверняка есть use флаг.

note173 ★★★★★ ()
Ответ на: комментарий от unC0Rr

Средние проекты пересобираются по 15-20 минут, слишком много ждать после каждого глобального изменения в коде.

note173 ★★★★★ ()

Если по скорости компиляции - clang. По скорости выполнения сгенерированного кода - gcc.

Deleted ()
Ответ на: комментарий от note173

Средние проекты пересобираются по 15-20 минут, слишком много ждать после каждого глобального изменения в коде.

Солдат спит, а служба идет.

dave ★★★★★ ()

Есть ли где-то тест скорости С++ компиляторов?

зачем это нужно? какая разница сколько собирается проект?

ymn ★★★★★ ()
Ответ на: комментарий от anonymous

Вариант. Есть и другие варианты. Но не всегда же это возможно или оправдано.

note173 ★★★★★ ()
Ответ на: комментарий от quantum-troll

И это всё с контекстно-зависимая грамматикой?

Грамматика тут ни при чём, синтаксический анализ занимает малую долю времени компиляции программы на С++.

Begemoth ★★★★★ ()
Ответ на: комментарий от trex6

Оно обычно в дистрибутивах как ld.gold идёт. В педорке, например:

-rwxr-xr-x. 1 root root 2.8M Dec 14 15:23 /usr/bin/ld.gold
-rwxr-xr-x. 1 root root 755K Dec 14 15:23 /usr/bin/ld.bfd
lrwxrwxrwx. 1 root root   20 Jan 20 15:04 /usr/bin/ld -> /etc/alternatives/ld

anonymous ()

вас волнует конкретно скорость компиляции ? Не показатели работы полученных в результате программ, а просто время затраченное компилятором, чтобы из исходного текста сделать объектник - правильно ?

самым быстрым должен быть tcc. Он самый простой.

Ещё раньше где-то мелькала отечественная разработка, в которой была реализована инкрементная+фоновая компиляция прямо в убогом IDE. Отдельное для компиляцию время исчезающе мало и поэтому скорость близка к световой.

MKuznetsov ★★★★★ ()

tcc - совсем не c++ компилятор.

По теме - clang, -O0 (возможно, -f какими-нибудь можно ещё ускорить), distcc. Если собирается одно и то же - сверху ещё ccache, но в этом случае вы уже что-то не так делаете, если у вас после изменения надо пересобирать больше, чем только изменённый файл (за исключением случая, если у вас всё на шаблонах, конечно). Курите в сторону убирания кода из заголовочных файлов в исходники, чистки лишних #include, использования где возможно forward declarations, и кое-где, возможно и pImpl.

slovazap ★★★★★ ()
Ответ на: комментарий от slovazap

конечно. tcc это с99совместимый переводчик в бинкод.

да как всегда если челу нужно ускорить сбор проекта в C++ то make магия во все поля понимание #include и т.п

шёл 2012

qulinxao ★★☆ ()
Ответ на: комментарий от note173

Средние проекты пересобираются по 15-20 минут

Пишите маленькие. У меня проект собирается 2 минуты, при этом я считаю его слишком жирным. Не из-за времени сборки, конечно.

const86 ★★★★★ ()
Ответ на: комментарий от const86

2 минуты — это очень быстро для полной пересборки. При маленьких изменениях и большие проекты быстро компилируются, только вот как раз на линковку много времени уходит (у меня доходило до 4 минут, пока gold не собрал).

note173 ★★★★★ ()

как уже сказали, самым простым решением будут pch.
у меня та же проблема с msvc.

JackyTreehorn ()

- А у тебя компилятор за сколько компилирует?

- За N сек.

- Ха-ха! г-но твой компилятор! Ну и ты ваще ламер канешна. У меня за N-Y сек !!

- :(

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.