Google Benchmark and Criterion.rs exist because raw timing loops lie: without confidence intervals and IQR-based outlier rejection, a 2% regression is indistinguishable from scheduler noise, which is why Chromium's performance bots reject any change lacking a statistically significant delta. Building this framework by hand exposes exactly what those libraries automate for you: warmup, variance, and the confidence-interval-overlap check used to declare a real win.