ForgeZero 4.1 vs GNU Make: ускорение сборки до 4.5x на реальных машинах

AMD Ryzen 9 7950X3D @4.192GHz | AMD FX-8370E @3.30GHz
AMD Ryzen 9 7950X3D @4.192GHz | AMD FX-8370E @3.30GHz
Intel Core i5-10310U (8) 4.4GHz
Intel Core i5-10310U (8) 4.4GHz

ForgeZero 4.1 vs GNU Make: ускорение сборки до 4.5x на реальных машинах

Я — автор ForgeZero, современной build system, которая должна заменить классический

make

без его legacy-overhead.

На релизе ForgeZero 4.1 прогнал серию benchmark-тестов против GNU Make на разных платформах: серверный Ryzen, ноутбучный Intel и старый AMD FX.

Цель была простая: проверить, насколько быстрее можно собирать обычный C/C++ проект без Makefile и shell orchestration.

Как тестировал

GNU Make:

make -j4

ForgeZero:

./fzt -dir . -out fz_out

Измерение через hyperfine:

hyperfine './fzt -dir . -out fz_out' 'make -j4'

Результаты

Платформа

ForgeZero

GNU Make

Ускорение

Ryzen 9 7950X3D (KVM, 1 vCPU)

~80–84 ms

~350–364 ms

4.1x–4.5x

Intel Core i5-10310U

82.2 ms

291.1 ms

3.54x

AMD FX-8370E (AM3+, 8 ядер)

111.0 ms

238.5 ms

2.15x

Что это показывает

Ускорение наблюдается не на одной “удачной” машине, а на совершенно разных CPU:

современный серверный Ryzen;

обычный ноутбук Intel;

старый десктопный AMD FX.

На всех системах ForgeZero стабильно быстрее GNU Make.

Почему ForgeZero быстрее

1. Нет shell overhead

GNU Make постоянно создаёт shell-процессы и тратит время на fork/exec.

ForgeZero выполняет pipeline напрямую.

2. Более дешёвый dependency graph

Без legacy-механик вроде:

парсинга огромных Makefile;

implicit rules;

pattern expansion;

многоуровневых переменных.

ForgeZero строит dependency graph напрямую и обновляет только реально изменённые части проекта.

3. Более эффективный scheduler

Вместо старой модели job scheduling из

make -j

используется собственный lightweight scheduler.

4. Zero-config

Без километровых Makefile.

ForgeZero сам определяет структуру проекта и запускает сборку сразу.

Почему это важно

make

появился в 1976 году.

За почти 50 лет мы привыкли считать build systems «решённой задачей», хотя даже сегодня можно получить ускорение в 2–4.5 раза просто за счёт современной архитектуры.

Если у вас десятки или сотни сборок в день (локально и в CI), такая разница превращается в реально сэкономленное время.

ForgeZero 4.1 уже доступен

GitHub:

Интересно услышать мнение тех, кто до сих пор живёт на

make

.

2
Начать дискуссию