Run your benchmarks locally or in CI using your favorite
benchmarking tools. The bencher
CLI simply
wraps your existing benchmark harness and stores its
results.
Track your Iai-Callgrind benchmarks
π¦ Track the results of cargo bench
over time with Bencher
How It Works
Run your benchmarks
Track your benchmarks
Track the results of your benchmarks over time. Monitor, query, and graph the results using the Bencher web console based on the source branch and testbed.
Catch performance regressions
Catch performance regressions in CI. Bencher uses state of the art, customizable analytics to detect performance regressions before they make it to production.
You are in good company
Track your Iai-Callgrind benchmarks
Track the results of your Iai-Callgrind benchmarks over time. Monitor, query, and graph the results using the Bencher web console based on the source branch and testbed.
$ bencher run --adapter rust_iai_callgrind "cargo bench"
running 0 tests
test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
rust_iai_callgrind::bench_fibonacci_group::bench_fibonacci short:10
Instructions: 1734|N/A (*********)
L1 Hits: 2359|N/A (*********)
L2 Hits: 0|N/A (*********)
RAM Hits: 3|N/A (*********)
Total read+write: 2362|N/A (*********)
Estimated Cycles: 2464|N/A (*********)
rust_iai_callgrind::bench_fibonacci_group::bench_fibonacci long:30
Instructions: 26214734|N/A (*********)
L1 Hits: 35638619|N/A (*********)
L2 Hits: 0|N/A (*********)
RAM Hits: 3|N/A (*********)
Total read+write: 35638622|N/A (*********)
Estimated Cycles: 35638724|N/A (*********)
Get Performance Insights Directly in Your Workflow
Bencher Report
Branch | 254/merge |
Testbed | ubuntu-latest |
π¨ 1 ALERT: Threshold Boundary Limit exceeded!
Benchmark | Measure Units | View | Benchmark Result (Result Ξ%) | Upper Boundary (Limit %) |
---|---|---|---|---|
Adapter::Json | Latency microseconds (Β΅s) | π plot π¨ alert π· threshold | 3.45 (+1.52%) | 3.36 (102.48%) |
Click to view all benchmark results
Benchmark | Latency | Benchmark Results microseconds (Β΅s) (Result Ξ%) | Upper Boundary microseconds (Β΅s) (Limit %) |
---|---|---|---|
Adapter::Json | π view plot π¨ view alert π· view threshold | 3.45 (+1.52%) | 3.36 (102.48%) |
Adapter::Magic (JSON) | π view plot π· view threshold | 3.43 (+0.69%) | 3.60 (95.40%) |
Adapter::Magic (Rust) | π view plot π· view threshold | 22.10 (-0.83%) | 24.73 (89.33%) |
Adapter::Rust | π view plot π· view threshold | 2.31 (-2.76%) | 2.50 (92.21%) |
Adapter::RustBench | π view plot π· view threshold | 2.30 (-3.11%) | 2.50 (91.87%) |
π° View full continuous benchmarking report in Bencher
Getting started with Bencher is simple
curl --proto '=https' --tlsv1.2 -sSfL https://bencher.dev/download/install-cli.sh | sh
irm https://bencher.dev/download/install-cli.ps1 | iex
Hosting
Self-Hosted
Run Bencher on-prem or in your own cloud. Bencher can be deployed on a standalone server, in a Docker container, or as part of a Kubernetes cluster.
Bencher Cloud
It's 2025, who wants to manage yet another serviceβ½ Let us take care of that for you. All of the same great features with none of the hassle.
Share Your Benchmarks
All public projects have their own perf page. These results can easily be shared with an auto-updating perf image. Perfect for your README!
Track your benchmarks in CI
Have you ever had a performance regression impact your users? Bencher could have prevented that from happening with continuous benchmarking.