atlas.bench is a high-precision, multi-command benchmarking TUI that brings statistical rigor to the terminal on a phosphor-CRT styled console inspired by 1970s engineering workstations.
- ποΈ Side-by-Side Comparison: Live per-target telemetry with state pills (
WARM,RUN,DONE,ERR). - π¬ Statistical Rigor: Mean, median, min/max, and standard deviation reported for every target.
- π₯ Intelligent Warm-up: Unmeasured warm-up runs prime disk caches and OS scheduling before measurement starts.
- π Run-Distribution Sparklines: Each target shows a live sparkline of run durations, with a deeper view on
β΅. - π Analysis Section: Ratio bar chart vs. the winner (
1.00x,1.23x,2.40xβ¦), color-graded by how far behind each target is. - β»οΈ Restart in Place: Press
rto discard results and re-run the same battery without relaunching. - π¦ Cross-Platform: Binaries available for Windows, Linux, and macOS (AMD64, ARM64).
git clone https://github.com/fezcode/atlas.bench
cd atlas.bench
go build -o atlas.bench .atlas.bench "node app.js" "bun app.js"atlas.bench --runs 100 --warmup 10 "python3 process.py" "go run main.go"atlas.bench -t 5s "slow-thing" "fast-thing"| Flag | Short | Default | Description |
|---|---|---|---|
--runs |
-r |
10 |
Timed iterations per command |
--warmup |
-w |
3 |
Unmeasured warm-up runs |
--timeout |
-t |
0 |
Per-run timeout (e.g. 5s, 100ms; 0 disables) |
--shell |
-s |
auto | Shell to use (auto-detects powershell on Windows, sh elsewhere) |
| Key | Action |
|---|---|
β/β or k/j |
Navigate the target list |
Enter |
Toggle detail (min/max/stddev + per-run bar chart) |
r |
Restart: wipe results and re-run |
q or Ctrl+C |
Quit |
- Mean: Arithmetic average of all measured runs.
- Median: The middle value, resistant to single-spike outliers.
- StdDev: How much the runs varied; a high value indicates jitter from background load.
- Min / Max: Fastest and slowest individual runs.
- Winner: The target with the lowest mean execution time.
- Ratio: Each target's mean divided by the winner's (
1.00x= winner).
The project uses gobake to generate binaries for all supported platforms:
gobake buildBinaries are placed in the build/ directory.
MIT License - see LICENSE for details.
