A benchmark is an experiment
The purpose of a benchmark is to support one claim: this version is faster than that version. That is a causal claim about two variants, which makes it an experiment, and experiments have requirements.
The controls a benchmark needs:
- One variable. Change the code under test and nothing else. Not the machine, not the data, not the dependency versions, not the time of day.
- Enough repetitions. A single run is a sample of one drawn from a noisy distribution, and single-run comparisons are how teams convince themselves of improvements that do not exist.
- Reported variance. "120 ms" is not a result. "120 ms, with a standard deviation of 3 ms across 50 runs" is, because it tells the reader whether a 5 ms difference means anything.
- A realistic workload. Measuring the case you optimised for, rather than the case users produce, guarantees a favourable answer and no benefit.
Key idea: the discipline the catalogue's A/B testing course applies to product experiments applies identically here, and for the same reason. A comparison with an uncontrolled variable or a sample of one is not evidence, whatever number it printed.

