32bit_me (32bit_me) wrote,
32bit_me
32bit_me

Category:

О времени компиляции

Решил потестировать время компиляции LLVM + Clang на моём десктопе (Core i7 7740X 4,3 ГГц, 32 Гб RAM).



Собираем LLVM 7.0.1 + Clang 7.0.1

Итак, сборка в один поток (make, gcc, ld) - 2 часа 20 мин
Сборка с -j8 - out of memory. Падение происходит на этапе линковки ld.
Сборка с make, gcc, gold c -j8 - 29 минут.
Сборка с ninja, gcc, ld - out of memory, тоже из-за ld.
Сборка с ninja, gcc, gold - 29 минут.

Ld ест память. При сборке в 8 потоков он съедает 32 гига памяти, 2 гига свопа и падает. При сборке в 1 поток он не падает, но это долго. Gold собирает нормально, при этом расход памяти не превышает 60% (от 32 Gb) при сборке в 8 потоков.

Таким образом, при сборке "с нуля" никакой разницы между make и ninja нет. Разница, теоретически, должна быть при запуске сборки на уже скомпилированном проекте, т.е. когда make просто должен проверить всё дерево исходников и убедиться, что всё собрано, не запуская при этом gcc и линкер. Тогда, теоретически, ninja проведёт такую проверку гораздо быстрее, чем make. Полезная фича.

Да, ещё для ninja не нужно указывать -j8, он автоматически задействует все ядра процессора (8 потоков, в данном случае). Можно указать, впрочем, если хотите.

И наконец, если вы думаете, что clang сам себя не скомпилирует, то вы ошибаетесь. Устанавливаем clang 6.0. Собираем в конфигурации make + clang + gold, разумеется, с -j8. Результат - 19 минут.

Впрочем, можно использовать и ninja + clang + gold. Результат: 17 минут 27 секунд.

Вот так.
Tags: llvm
Subscribe

  • Прекрасное под катом

    Людям со слабой психикой под кат не заглядывать! Описание: Книга даёт ответы на главные вопросы науки и человечества, описывает неизвестное…

  • Вселенная-25

    Практически каждый раз, когда начинаются разглагольствования об "обществе потребления", всплывает так называемый "эксперимент Вселенная 25". Если…

  • О групповых проектах

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 11 comments

  • Прекрасное под катом

    Людям со слабой психикой под кат не заглядывать! Описание: Книга даёт ответы на главные вопросы науки и человечества, описывает неизвестное…

  • Вселенная-25

    Практически каждый раз, когда начинаются разглагольствования об "обществе потребления", всплывает так называемый "эксперимент Вселенная 25". Если…

  • О групповых проектах