Before You Quote That 40% Speedup: A Field Audit of Release-Note Benchmarks
Photo: developer analyzing performance benchmark charts on multiple monitors dark office, via thumbs.dreamstime.com
The release notes land on a Tuesday afternoon: "v4.2 delivers up to 40% faster throughput under concurrent workloads." Somewhere in the next week, that number will appear in a Slack thread, a quarterly planning deck, and possibly a capacity forecast. Almost nobody will ask how it was measured.
At Asterix Project, we spend a lot of time auditing the unglamorous plumbing of open-source infrastructure, and benchmark methodology sits squarely in that category. A speed claim is a piece of engineering output like any other — it has inputs, assumptions, and failure modes. Treat it with the same skepticism you'd apply to a pull request from an unknown contributor.
Where the Numbers Come From — and What's Missing
Start with the most basic question: what hardware produced the headline figure? Benchmark disclosures that omit the machine, the CPU governor settings, and the operating system aren't disclosures at all. "Up to 40% faster" on a bare-metal AMD EPYC box tells you very little about how the same release behaves on the three-year-old cloud instances most US engineering teams actually rent.
Then look at the workload. A benchmark that measures a warm cache, a single connection, or a synthetic payload sized to flatter the new code path is not lying — it's framing. Framing is more durable than lying, because every individual claim in the writeup can technically be defended. The classic tells:
- Cherry-picked percentiles. p50 looks great; p99 is conspicuously absent. Tail latency is where regressions hide.
- Missing comparison baselines. Faster than what? The previous minor release, or a version from eighteen months ago?
- No warmup or cooldown description. JIT warmup, page cache state, and filesystem pre-allocation can swing results by double digits.
- Single-run results with no variance reported. If the author doesn't publish standard deviations, you can't tell signal from scheduler noise.
- Workload descriptions like "realistic traffic." That's a vibe, not a spec.
None of these are necessarily bad faith. Release engineering is often a volunteer effort, and a maintainer who spent a weekend on a benchmark harness deserves credit for measuring at all. But "measured in good faith" and "safe to plan around" are different properties, and only the second one matters when you're sizing a fleet.
The Reproducibility Test
The single most revealing audit step is simple: can you rebuild the benchmark? A project that publishes its harness as a script, pins its dependencies, and documents the machine spec has made a falsifiable claim. A project that reports numbers from a laptop with no harness attached has made an anecdote.
Reproducibility has a second-order benefit. When you run the harness yourself on hardware that resembles your production environment, you stop evaluating the maintainer's claim and start evaluating your own system. That's the actual question. A 15% gain measured on someone else's machine might be 3% on yours — or negative, if your traffic pattern exercises a path the benchmark never touched.
If the harness doesn't exist, that's a finding too. It tells you the performance work wasn't systematic, which means the next release may just as easily regress without anyone noticing.
A Skeptic's Checklist
Before repeating a speed claim from release notes, run through five questions:
- Is the harness published? If not, the claim is unfalsifiable.
- Is the baseline named and recent? Comparisons to ancient versions are marketing, not measurement.
- Are tails reported, not just medians? p99 and p99.9 are where production incidents live.
- Is the hardware disclosed, and does it resemble yours? Cloud instance type, CPU, memory bandwidth — the details that determine whether the result transfers.
- Is variance reported across multiple runs? A single data point is a weather report, not a climate model.
Score two or fewer and you should treat the claim as a hypothesis to verify, not a fact to cite. Score four or five and you can reasonably reference the number in design documents — with the harness link attached.
What Projects Owe Their Readers
The fix isn't heavier process. It's a short benchmark disclosure section in every release that makes a performance claim: harness location, hardware spec, workload definition, run count, and variance. Projects that adopt this convention — and several in the database and networking ecosystems have — find that it changes the conversation. Reviewers stop asking "is it really faster?" and start asking "why is it faster under workload A but not workload B?" That second question is where actual engineering happens.
Performance claims in release notes are a contract with downstream operators. The teams depending on your software are making procurement, migration, and capacity decisions on the strength of a single sentence. Writing that sentence without its methodology isn't just sloppy — it quietly transfers the cost of verification onto every consumer of the project.
Measure like your users will operate. Disclose like your users will audit. And when you're the one reading the changelog, remember: a number without a harness is a rumor with decimal places.