2018-10-02 17:02:57 -04:00
|
|
|
# hyperfine
|
|
|
|
|
|
|
|
> A command-line benchmarking tool.
|
2019-06-03 02:06:36 +02:00
|
|
|
> More information: <https://github.com/sharkdp/hyperfine/>.
|
2018-10-02 17:02:57 -04:00
|
|
|
|
2018-10-04 15:03:37 -04:00
|
|
|
- Run a basic benchmark, performing at least 10 runs:
|
2018-10-02 17:02:57 -04:00
|
|
|
|
|
|
|
`hyperfine '{{make}}'`
|
|
|
|
|
2018-10-04 15:03:37 -04:00
|
|
|
- Run a comparative benchmark:
|
|
|
|
|
2018-10-05 18:56:21 +05:30
|
|
|
`hyperfine '{{make target1}}' '{{make target2}}'`
|
2018-10-04 15:03:37 -04:00
|
|
|
|
2018-10-02 17:02:57 -04:00
|
|
|
- Change minimum number of benchmarking runs:
|
|
|
|
|
2025-04-22 15:48:30 +03:00
|
|
|
`hyperfine {{[-m|--min-runs]}} {{7}} '{{make}}'`
|
2018-10-02 17:02:57 -04:00
|
|
|
|
|
|
|
- Perform benchmark with warmup:
|
|
|
|
|
2025-04-22 15:48:30 +03:00
|
|
|
`hyperfine {{[-w|--warmup]}} {{5}} '{{make}}'`
|
2018-10-02 17:02:57 -04:00
|
|
|
|
|
|
|
- Run a command before each benchmark run (to clear caches, etc.):
|
|
|
|
|
2025-04-22 15:48:30 +03:00
|
|
|
`hyperfine {{[-p|--prepare]}} '{{make clean}}' '{{make}}'`
|
2018-10-02 17:02:57 -04:00
|
|
|
|
|
|
|
- Run a benchmark where a single parameter changes for each run:
|
|
|
|
|
2025-04-22 15:48:30 +03:00
|
|
|
`hyperfine {{[-p|--prepare]}} '{{make clean}}' {{[-P|--parameter-scan]}} {{num_threads}} {{1}} {{10}} '{{make {{[-j|--jobs]}} {num_threads}}}'`
|