Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Benchmarks

Reproduce the numbers yourself:

benches/bench.sh   # times whichever of make/just/task are installed

It generates an identical single-task workload for each tool and times two stable scenarios: startup overhead, and a warm rebuild (the cache’s job).

Sample results

Apple-silicon laptop, June 2026 (min / mean ms — lower is better):

Toolstartupwarm rebuild
yatr8.4 / 8.99.5 / 10.0
make10.7 / 11.511.2 / 15.7
just (no caching)7.8 / 8.2131.4 / 145.6
  • Overhead is competitive — yatr’s single-binary startup beats make and matches just; no “task-runner tax”.
  • The cache earns its keep — a warm rebuild is a content-addressed cache hit, ~14× faster than a runner with no caching, and on par with make’s timestamp skip — but content-correct where make’s mtime cache is fragile.

Scheduler

The ready-queue scheduler starts each task the moment its dependencies finish, instead of waiting for the whole dependency “level”. On a DAG with a fast chain beside a slow sibling, that measured ~1.8× faster (791 ms → 430 ms).

Benchmarks prove yatr is fast; caching correctness, the remote cache, and affected detection are why it’s better — and don’t show up in a single local no-op.