Prompt
What should I use to catch performance regressions in CI
Latest observation
Oct 1, 2026
OpenAI APIWeb search: off
To catch performance regressions in CI, use a small, repeatable benchmark suite plus automated comparison against a baseline.
Good options
- Benchmark tests: run a few representative workloads every PR or nightly.
- Regression thresholds: fail or warn if runtime/memory changes beyond a set percentage.
- Trend tracking: store results over time so you can spot slow drift, not just big jumps.
- Flaky-noise control: run benchmarks multiple times and compare medians/means.
Common tools by ecosystem
- Python:
pytest-benchmark,airspeed velocity (asv) - JavaScript/Node:
benchmark.js, custom script + CI comparison,clinic - Go:
go test -benchwithbenchstat - Rust:
criterion - Java/JVM:
JMH - .NET:
BenchmarkDotNet - C/C++: Google Benchmark,
hyperfinefor end-to-end checks
Practical setup
- Pick 3–10 critical paths.
- Run them on consistent CI runners.
- Compare against a saved baseline or main branch.
- Alert on meaningful deltas, not tiny noise.
- Keep the suite fast enough for CI; put heavier benchmarks on nightly.
If you want a simple, generic approach
Use:
hyperfinefor command-level benchmarks- a small script to compare against the last main-branch run
- CI thresholds like ±5–10%
If you tell me your language/runtime and CI system, I can recommend the best specific tool and setup.