Skip to content

fezcode/atlas.bench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

12 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Atlas Bench

Banner Image

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.

Go Version Platform

✨ Features

  • 🏎️ 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 r to discard results and re-run the same battery without relaunching.
  • πŸ“¦ Cross-Platform: Binaries available for Windows, Linux, and macOS (AMD64, ARM64).

πŸš€ Installation

From Source

git clone https://github.com/fezcode/atlas.bench
cd atlas.bench
go build -o atlas.bench .

⌨️ Usage

Basic Comparison

atlas.bench "node app.js" "bun app.js"

High-Precision Audit

atlas.bench --runs 100 --warmup 10 "python3 process.py" "go run main.go"

Per-Run Timeout

atlas.bench -t 5s "slow-thing" "fast-thing"

Options

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)

πŸ•ΉοΈ Controls

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

πŸ“ Statistics

  • 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).

πŸ—οΈ Building for all platforms

The project uses gobake to generate binaries for all supported platforms:

gobake build

Binaries are placed in the build/ directory.

πŸ“„ License

MIT License - see LICENSE for details.

About

🏎️ High-precision, multi-command TUI benchmarking tool with statistical rigor and side-by-side comparisons. Part of the Atlas Suite.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages