ForgeZero 4.1 vs make: ускорили сборку почти в 3 раза

Forgezero VS make -j4 
Forgezero VS make -j4 

ForgeZero 4.1 vs make: ускорили сборку почти в 3 раза

Я создатель ForgeZero — современной build system, которая может заменить классический make без тонны legacy-overhead.

На релизе ForgeZero 4.1 прогнал benchmark против GNU Make на реальном проекте. Результат:

Что сравнивал

GNU Make:

make -j4

ForgeZero:

./fzt -dir . -out fz_out

Замер через hyperfine:

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

Результаты

ForgeZero

Time (mean ± σ): 77.0 ms ± 1.5 ms Range: 75.5 ms … 84.5 ms

GNU Make

Time (mean ± σ): 225.3 ms ± 1.1 ms Range: 223.1 ms … 226.9 ms

Итог

ForgeZero быстрее GNU Make в 2.92 раза.

Почти 3x ускорение на обычной incremental-сборке.

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

1. Нет shell overhead

make постоянно создаёт shell-процессы. ForgeZero выполняет build pipeline напрямую, без лишних fork/exec.

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

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

сложного парсинга Makefileimplicit rulespattern matchingмногоуровневого variable expansion

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

3. Нормальный parallel scheduler

Вместо старой модели -j используется более лёгкий task scheduler с меньшими накладными расходами.

4. Zero-config

Без километровых Makefile. ForgeZero сам понимает структуру проекта и запускает сборку сразу.

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

Это не концепт и не эксперимент — ForgeZero уже релизнут.

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

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