Re: [PATCH v1] perf stat display: Make %f precision consistent

From: Ingo Molnar
Date: Tue Dec 09 2025 - 12:45:42 EST


* Ian Rogers <irogers@xxxxxxxxxx> wrote:

> Commit bc22de9bcdb2 ("perf stat: Display time in precision based on
> std deviation") added multirun workload elapsed time. There was an
> effort to make the precision in the output most useful for the user,
> however, when gathering over runs it means the formatting varies. This
> change just makes the output format fixed.
>
> Before:
> ```
> $ while :; do perf stat --null --repeat 3 sleep 0.1 2>&1 | grep elapsed; done
> 0.101140 +- 0.000149 seconds time elapsed ( +- 0.15% )
> 0.1011396 +- 0.0000218 seconds time elapsed ( +- 0.02% )
> 0.101331 +- 0.000124 seconds time elapsed ( +- 0.12% )
> ^C
> $ while :; do perf stat --null --repeat 3 sleep 1 2>&1 | grep elapsed; done
> 1.001317 +- 0.000146 seconds time elapsed ( +- 0.01% )
> 1.001377 +- 0.000172 seconds time elapsed ( +- 0.02% )
> 1.00253 +- 0.00131 seconds time elapsed ( +- 0.13% )
> ```
>
> After:
> ```
> $ while :; do perf stat --null --repeat 3 sleep 0.1 2>&1 | grep elapsed; done
> 0.101406408 +- 0.000064778 seconds time elapsed ( +- 0.06% )
> 0.101367315 +- 0.000027253 seconds time elapsed ( +- 0.03% )
> 0.101434164 +- 0.000084750 seconds time elapsed ( +- 0.08% )
> ^C
> $ while :; do perf stat --null --repeat 3 sleep 1 2>&1 | grep elapsed; done
> 1.001525467 +- 0.000051703 seconds time elapsed ( +- 0.01% )
> 1.001375093 +- 0.000116200 seconds time elapsed ( +- 0.01% )
> 1.001141025 +- 0.000046361 seconds time elapsed ( +- 0.00% )

Perfect, thank you!

Tested-by: Ingo Molnar <mingo@xxxxxxxxxx>

Ingo