@epoz \- this & related topics come up a lot, but here is a perhaps more informative thread than many: <https://forum.nim-lang.org/t/5103> (though maybe you will fall asleep before reading all of it).
@PMunch, I think `hyperfine` leaves "on the table/floor" much opportunity for precision on the hottest caches path which I try to get at with [tim](https://github.com/c-blake/bu/blob/main/doc/tim.md). Might be worth a look. Also, it's only like a few screenfuls of Nim instead of however 6,000 lines of Rust or whatever `hyperfine` is up to. So, you could `import` it (or `bu/emin`, `cligen/strUt.fmtUncertain`) and perhaps use the ideas for non-command-line timings as well. The CLI tool `tim` can do most of what `hyperfine` does except calculate ratios like "2.26X" (without propagating uncertainties which it does not really try to present, AFAICT). I usually do that by hand with @Vindaar's [Measuremancer](https://github.com/SciNim/Measuremancer).