Runs Hyperfine as a github action and stores the result as a Github page.
Example Repo Actions
Example output Benchmarks
Inspired by the Denoland benchmark suite
Create a .hyperfine.json
[
{ "name": "sleep", "command": "sleep 0.1" },
{ "name": "node", "command": "node -e 'console.log()'" }
]Add the action to your github action
- uses: blacha/hyperfine-action@v1
output
Run blacha/hyperfine-action@v1
Starting benchmark Sleep 100ms
Benchmark #1: sleep 0.1
Time (mean ± σ): 101.2 ms ± 0.1 ms [User: 1.0 ms, System: 0.3 ms]
Range (min ... max): 101.0 ms ... 101.4 ms 29 runs
Starting benchmark Test index
Benchmark #1: node index.js
Time (mean ± σ): 5.039 s ± 0.002 s [User: 28.8 ms, System: 6.7 ms]
Range (min ... max): 5.035 s ... 5.043 s 10 runs
- uses blacha/hyperfine-action@v1 with: # Configuration file to use benchmark-config: '.hyperfine.json' # Number of benchmarks to keep count: 100 # Branch to use for benchmarks output/benchmark.json benchmark-branch: 'gh-pages' # Where to store the output of the benchmarks benchmark-output: 'benchmarks.json' # benchmark html file to view the benchmarks benchmark-html: 'benchmarks.html' # Branch to use as the main or master for comparision master-branch: 'master' # configuration token github-token: ${{ github.token }}