оптимизация под компиляцию-сборку (железо и настройки)

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

оптимизация под компиляцию-сборку (железо и настройки)

Непрочитанное сообщение Olej » 31 янв 2021, 22:21

Задача:
- есть проект в развитии (коллективно развивается уже 10 лет или больше)...
- объём репозитория, скачанный с сетевого GIT составляет порядка 2.5Gb (это только исходники, конфигурации, ... - до сборки);
- компиляция сборка на хороших компьютерах (SSD, i5, ...) идёт порядка 90 мин.
Вопрос: как хоть как-то уменьшить это время?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: оптимизация под компиляцию-сборку (железо и настройки)

Непрочитанное сообщение Olej » 31 янв 2021, 22:22

Olej писал(а):
31 янв 2021, 22:21
Вопрос: как хоть как-то уменьшить это время?
Один из способов (но уже использованный в сборке этого проекта) - это использовать для сборки не make, а ninja - инструмент управления сборкой, который Google и сделали для ускорения чудовищно длинной сборки Ghromium/Chrome, см. тему здесь в форуме Chromium - сборка и модификация

Это позволяет ускорить сборку в несколько раз - учитывайте это в своих проектах!

А для первоначального знакомства с Ninja годится:
Ninja
Глава 3 из книги "Производительность приложений с открытым исходным кодом"
Для практического уже использования годится The Ninja build tool ... показывает что сборка может быть ускорена в 10 раз ... а то и 100 на больших проектах!:
Изображение
Официальная документация:
The Ninja build system
v1.10.2, Nov 2020

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: оптимизация под компиляцию-сборку (железо и настройки)

Непрочитанное сообщение Olej » 06 фев 2021, 09:10

Olej писал(а):
31 янв 2021, 22:21
Вопрос: как хоть как-то уменьшить это время?
Ответ №1: диск для записи и его скорость.
Устанавливаю NVME диск вместо SSD (и уж тем более HDD)...
Вот такой:
Изображение

Скорость диска (измеренная!) 2201.32 MB/sec против 230-320 Mb/sec у SSD - в 10 раз быстрее!

Время полной сборки проекта как было порядка 90 минут, так примерно такое же и осталось. :-(
Потому что слабым звеном в этой конфигурации пока остаётся используемый процессор и его скорость.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: оптимизация под компиляцию-сборку (железо и настройки)

Непрочитанное сообщение Olej » 06 фев 2021, 09:26

Olej писал(а):
06 фев 2021, 09:10
Потому что слабым звеном в этой конфигурации пока остаётся используемый процессор и его скорость.
В отношении процессора есть несколько совсем разных аспекта:
1. выбор модели процессора (из соображений цена/качество);
2. оптимизация режима работы процессора (политики управления частотой - governor);
3. возможно ... (но с большой осторожностью) что-то связанное с разгоном процессора;
2. оптимизация режима работы процессора (политики управления частотой - governor);
Про политики и управление обсуждаем здесь: управление частотой процессора.

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей