The muscle
terminal / powershell
$t = 1..5 | ForEach-Object { (Measure-Command { Your-Operation }).TotalMilliseconds }
$t -f 'N0' # raw runs
[math]::Round(($t | Measure-Object -Average).Average, 1)Three rigor touches
- Warm-up counts: first run pays JIT, cache and driver-touch costs. Either discard run 1 or report it separately — hiding it flatters some tools and frames others.
- Five-run minimum with median: averages lie under outliers; the median run is the honest middle for I/O-flavored workloads.
- Time the whole thing you're claiming: if your blog post measures “startup effects,”
Measure-Commandaround the probe isn't the same as boot — boot time lives in Event ID 100 in Diagnostics-Performance, not your script.
Structure it: machine, runs, median, warm-up policy. Four fields turn a vibe into evidence someone else can reproduce on their box and agree or push back usefully.