A command-line benchmarking tool
The new --parameter-list <VAR> <VALUES>
option can be used to run
a parametrized benchmark on a user-specified list of values.
This is similar to --parameter-scan <VAR> <MIN> <MAX>
, but doesn't
necessarily required numeric arguments.
hyperfine --parameter-list compiler "gcc,clang" \
"{compiler} -O2 main.cpp"
See: #227, #234 (@JuanPotato)
Added none
as a possible choice for the --style
option to
run hyperfine
without any output, see #193 (@knidarkness)
Added a few new scripts for plotting various types of benchmark results (https://github.com/sharkdp/hyperfine/tree/master/scripts)
The --prepare
command is now also run during the warmup
phase, see #182 (@sseemayer)
Better estimation of the remaining benchmark time due to an update
of the indicatif
crate.
hyperfine
is now available on NixOS, see #240 (@tuxinaut)The --prepare <CMD>
option can now be specified multiple times to
run specific preparation commands for each of the benchmarked programs:
hyperfine --prepare "make clean; git checkout master" "make" \
--prepare "make clean; git checkout feature" "make"
See: #216, #218 (@iamsauravsharma)
Added a new welch_ttest.py
script to test whether or not the two benchmark
results are the same, see #222 (@uetchy)
The Markdown export has been improved. The relative speed is now exported with a higher precision (see #208) and includes the standard deviation (see #225).
scripts
folder (@matthieusb)-D
,--parameter-step-size
option that can be used to control
the step size for --parameter-scan
benchmarks. In addition, decimal numbers
are now allowed for parameter scans. For example, the following command runs
sleep 0.3
, sleep 0.5
and sleep 0.7
:
hyperfine --parameter-scan delay 0.3 0.7 -D 0.2 'sleep {delay}'
For more details, see #184 (@piyushrungta25)-c, --cleanup <CMD>
option to execute CMD
after the completion of all benchmarking runs for a given command. This is useful if the commands to be benchmarked produce artifacts that need to be cleaned up. See #91 (@RalfJung and @colinwahl)--parameter-scan
benchmarks) to exported CSV and JSON files. See #131 (@bbannier)hyperfine
s output (@tcmal)scripts/
folder)--help
text for the --export-*
flags (@psteinb)--style=color
, see #70 (@jasonpeacock)cmd
interpreter to cmd.exe
to prevent accidentally calling other programs, see #74 (@tathanhdinh)--show-output
option (@chrisduerr and @sevagh)-P
, --parameter-scan <VAR> <MIN> <MAX>
, see #19I'd like to say a big THANK YOU to @stevepentland for implementing new features, for reviewing pull requests and for giving very valuable feedback.