A command-line benchmarking tool
APACHE-2.0 License
Bot releases are hidden (Show)
--time-unit microsecond
, see #684 (@sharkdp)Published by sharkdp over 1 year ago
--sort
option to control the order in the rel. speed comparison and in markup export formats, see #601, #614, #655 (@sharkdp)--log-count
option for histogram plots, see scripts/plot_histogram.py
(@sharkdp)windows-sys
instead of the unmaintained winapi
, see #624, #639, #636, #641 (@clemenswasser)-
as a file name, see #640 and #643 (@sharkdp)Published by sharkdp over 1 year ago
--help
text (@sharkdp)--input=null
(@sharkdp)Published by sharkdp over 1 year ago
--input
option, see #541 and #563 (@snease)-
as the filename in the --export-*
options, see #615 and #623 (@humblepenguinn)--warmup
or --prepare
are in use already, see #570 (@sharkdp)TERM
is not set, see #583 (@nabijaczleweli)cmd.exe
with the /C
option. Use -c
for all other shells, see #568 and #582 (@FilipAndersson245)Published by sharkdp about 2 years ago
TERM=dumb
or NO_COLOR=1
, see #542 and #555 (@nabijaczleweli)--min-benchmarking-time <secs>
option, see #527 (@sharkdp)--help
texts of --export-*
options, see #506 and #522 (@Engineer-of-Efficiency)Published by sharkdp over 2 years ago
--output={null,pipe,inherit,<FILE>}
option to controlPublished by sharkdp over 2 years ago
--shell=none
/-N
option to disable the intermediate--shell=none
/-N
allows users to benchmark very fast commands--setup
/-s
option that can be used to run make all
or--cleanup
/-c
(@avar)plot_progression.py
script to debug background-s
short option for --style
is now used for--setup
option.Published by sharkdp about 3 years ago
--command-name
can now take parameter names from --parameter-*
options, see #351 and #391 (@silathdiir)--export-*
commands are used, result files are created before benchmark execution--export-*
options are used, result files are written after each individualPublished by sharkdp about 4 years ago
The -L
/--parameter-list
option can now be specified multiple times to
evaluate all possible combinations of the listed parameters:
hyperfine -L number 1,2 -L letter a,b,c \
"echo {number}{letter}" \
"printf '%s\n' {number}{letter}"
# runs 12 benchmarks: 2 commands (echo and printf) times 6 combinations of
# the "letter" and "number" parameters
See: #253, #318 (@wchargin)
Add CLI option to identify a command with a custom name, see #326 (@scampi)
--parameter-list
or --parameter-scan
, the JSON export formatparameters
instead of a single key parameter
. See #253, #318.plot_parametrized.py
script now infers the parameter name, and its --parameter-name
--warmup
or --*runs
arguments can not be parsed, see #337--style=full
or --style=color
is used.Published by sharkdp over 4 years ago
HYPERFINE_RANDOMIZED_ENVIRONMENT_OFFSET
environment variable in order to randomize the memory layout. See #235 and #241 for references and details.plot_whisker.py
script, see #275 (@ghaiklor)hyperfine
is now available on MacPorts for macOS, see #281 (@herbygillot)hyperfine
is now available on OpenBSD, see #289 (@minusf)Package authors: note that Hyperfine now comes with a set of shell completion files and a man page (see above)
Published by sharkdp almost 5 years ago
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)Published by sharkdp about 5 years ago
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)Published by sharkdp about 5 years ago
-D
,--parameter-step-size
option that can be used to control--parameter-scan
benchmarks. In addition, decimal numberssleep 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)Published by sharkdp over 5 years ago
-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)Published by sharkdp almost 6 years ago
hyperfine
s output (@tcmal)scripts/
folder)--help
text for the --export-*
flags (@psteinb)Published by sharkdp almost 6 years ago
-S
/--shell
option to override the default shell, see #61 (@mqudsi and @jasonpeacock)-u
/--time-unit
option to change the unit of time (second
or millisecond
), see #80 (@jasonpeacock)Published by sharkdp about 6 years ago
--style=color
, see #70 (@jasonpeacock)cmd
interpreter to cmd.exe
to prevent accidentally calling other programs, see #74 (@tathanhdinh)Published by sharkdp over 6 years ago
Published by sharkdp over 6 years ago
--show-output
option (@chrisduerr and @sevagh)Published by sharkdp over 6 years ago
-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.