2026-10-02 11:45:20 +02:00
|
|
|
This folder contains scripts that can be used in combination with hyperfine's `--export-json` option.
|
2018-12-12 20:30:19 +01:00
|
|
|
|
2026-10-07 11:24:14 +02:00
|
|
|
### Run directly from GitHub
|
|
|
|
|
|
|
|
|
|
Install [`uv`](https://docs.astral.sh/uv/getting-started/installation/), then
|
|
|
|
|
run one of the scripts:
|
2018-12-12 20:30:19 +01:00
|
|
|
|
2022-05-19 17:54:31 -06:00
|
|
|
```bash
|
|
|
|
|
hyperfine 'sleep 0.020' 'sleep 0.021' 'sleep 0.022' --export-json sleep.json
|
2026-10-07 11:24:14 +02:00
|
|
|
uvx --from 'git+https://github.com/sharkdp/hyperfine' \
|
|
|
|
|
plot_whisker sleep.json
|
2018-12-12 20:30:19 +01:00
|
|
|
```
|
2019-10-06 21:29:37 +02:00
|
|
|
|
2026-10-07 11:24:14 +02:00
|
|
|
Replace `plot_whisker` with any of the following commands.
|
|
|
|
|
|
|
|
|
|
| Command | Description |
|
|
|
|
|
| --- | --- |
|
|
|
|
|
| `plot_whisker` | Compare benchmarks with a box and whisker plot |
|
|
|
|
|
| `plot_histogram` | Show the distribution of measurements |
|
|
|
|
|
| `plot_parametrized` | Plot results from a parameter scan |
|
|
|
|
|
| `plot_progression` | Show measurements in run order |
|
|
|
|
|
| `plot_benchmark_comparison` | Compare commands across multiple JSON exports |
|
|
|
|
|
| `advanced_statistics` | Print additional statistics and percentiles |
|
|
|
|
|
| `welch_ttest` | Compare two benchmarks using Welch's t-test |
|
|
|
|
|
|
|
|
|
|
By default, the plotting and analysis scripts use the metric that was selected
|
|
|
|
|
first in the actual hyperfine run (`--metrics` option).
|
|
|
|
|
Use `--metric` to select another metric:
|
2026-10-06 09:09:18 +02:00
|
|
|
|
|
|
|
|
```bash
|
2026-10-07 11:24:14 +02:00
|
|
|
uvx --from 'git+https://github.com/sharkdp/hyperfine' \
|
|
|
|
|
plot_histogram benchmark.json --metric instructions
|
2026-10-06 09:09:18 +02:00
|
|
|
```
|