Задача:
- есть проект в развитии (коллективно развивается уже 10 лет или больше)...
- объём репозитория, скачанный с сетевого GIT составляет порядка 2.5Gb (это только исходники, конфигурации, ... - до сборки);
- компиляция сборка на хороших компьютерах (SSD, i5, ...) идёт порядка 90 мин.
Вопрос: как хоть как-то уменьшить это время?
оптимизация под компиляцию-сборку (железо и настройки)
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: оптимизация под компиляцию-сборку (железо и настройки)
Один из способов (но уже использованный в сборке этого проекта) - это использовать для сборки не make, а ninja - инструмент управления сборкой, который Google и сделали для ускорения чудовищно длинной сборки Ghromium/Chrome, см. тему здесь в форуме Chromium - сборка и модификация
Это позволяет ускорить сборку в несколько раз - учитывайте это в своих проектах!
А для первоначального знакомства с Ninja годится:
Ninja
Для практического уже использования годится The Ninja build tool ... показывает что сборка может быть ускорена в 10 раз ... а то и 100 на больших проектах!:Глава 3 из книги "Производительность приложений с открытым исходным кодом"
Официальная документация:
The Ninja build system
v1.10.2, Nov 2020
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: оптимизация под компиляцию-сборку (железо и настройки)
Ответ №1: диск для записи и его скорость.
Устанавливаю NVME диск вместо SSD (и уж тем более HDD)...
Вот такой:
Скорость диска (измеренная!) 2201.32 MB/sec против 230-320 Mb/sec у SSD - в 10 раз быстрее!
Время полной сборки проекта как было порядка 90 минут, так примерно такое же и осталось.
Потому что слабым звеном в этой конфигурации пока остаётся используемый процессор и его скорость.
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: оптимизация под компиляцию-сборку (железо и настройки)
В отношении процессора есть несколько совсем разных аспекта:
1. выбор модели процессора (из соображений цена/качество);
2. оптимизация режима работы процессора (политики управления частотой - governor);
3. возможно ... (но с большой осторожностью) что-то связанное с разгоном процессора;
Про политики и управление обсуждаем здесь: управление частотой процессора.2. оптимизация режима работы процессора (политики управления частотой - governor);
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 14 гостей