Deploy Now

Stars

926

Forks

43

Watchers

6

Developer links

Bencher

Bencher keeps a continuous record of your benchmark results and flags performance regressions in its web console before they merge into your main branch. Keep the benchmarks you already have: the bencher CLI runs your harness, collects its output through adapters for tools including Criterion, Iai, pytest-benchmark, Go benchmarks, and hyperfine, and ships the numbers to your server. Run the same command on your laptop and in CI, so a pull request compares against a baseline built by the same measurement pipeline instead of a fresh guess. The console plots every benchmark across branches, testbeds, and measures, turning months of runs into lines you can read at a glance. Set thresholds on any measure and Bencher applies statistical tests to separate a genuine slowdown from ordinary machine noise. When a result crosses a threshold, an alert fires and the CI run can fail, so the regression conversation happens on the pull request rather than in production. History stays queryable through the API and console, so you can pin down when a specific function got slower and which change did it. Self-host the Console and API servers with Docker next to the code they measure, and keep every result on machines you control. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. Apache-2.0 or MIT licensed.

Bencher
Bencher
Bencher
Bencher
Bencher

Benefits

  • Regressions Caught Before Merge
  • Benchmarks run on every change and compare against tracked history, so a hot path that gets ten percent slower is stopped at the pull request instead of paging someone later.
  • Existing Harnesses Keep Working
  • Adapters read the output of Criterion, Iai, pytest-benchmark, Go benchmarks, hyperfine, and more, so the benchmark suite your team already trusts starts producing tracked history without rewrites.
  • Noise Separated From Signal
  • Statistical thresholds judge each new result against the distribution of past runs, distinguishing a real regression from a busy machine and ending alert fatigue from flaky numbers.
  • Full History On Your Server
  • Every report lands in your own Console and API deployment, giving you a queryable, permanent record of performance across branches, testbeds, benchmarks, and measures over years.

Features

  • Bencher CLI Runner
  • One CLI command runs your benchmarks locally or in CI, collects the results, and uploads them to the server with branch and testbed context attached.
  • Harness Adapters
  • Built-in adapters parse output from popular benchmarking tools across Rust, Python, Go, and shell workflows, normalizing every result into Bencher measures automatically.
  • Console Perf Plots
  • The web console graphs each benchmark over time with branch, testbed, and measure selectors, making trends and sudden steps visible without exporting data anywhere.
  • Statistical Thresholds
  • Configure thresholds per measure and Bencher tests new results against historical distributions, firing alerts only when a change is statistically meaningful rather than jitter.
  • Alerts That Fail CI
  • A crossed threshold raises an alert in the console and can fail the CI job, turning performance review into a gate on the pull request itself.
  • Docker Self-Hosting
  • Run the Console and API servers as Docker containers started by the CLI, keeping the entire benchmarking platform on infrastructure your team operates directly.

Apps Similar to Bencher