PeakFord 0.8: regression gating and CI integration
2026-04-11 · Yuki Tanaka
PeakFord 0.8 adds regression gating — benchmarks can now block a CI pipeline when they regress beyond a configurable threshold.
Regression gating
The --compare flag takes a git ref (branch, tag, or commit SHA) and runs the same benchmarks against that ref before comparing results. If any benchmark regresses by more than --threshold (default 5%), PeakFord exits non-zero and prints a summary diff.
Because Go benchmarks have variance, PeakFord runs each benchmark multiple times and uses the trimmed mean. The number of iterations is configurable; the default (5 per benchmark) is enough to catch 10%+ regressions reliably without making CI unreasonably slow.
CI integration
A GitHub Actions example is in the repository. The main pattern is: check out both branches, run PeakFord with --compare, and upload the result as a build artifact. On regression, the step fails and the diff appears in the pipeline log.
I've been running this on PeakFord itself (the harness benchmarks itself, which is either clever or circular) and caught one genuine regression in the result aggregation code during the 0.8 development cycle.
Also: Benchmarking Go allocations: what go test -bench doesn't show