hyperfine <CMD>

A command-line benchmarking tool

Arguments

NameDescription
CMDCommand to benchmark

Options

NameDescription
--warmup, -w <NUM>Perform warmupruns (number) before the actual benchmarking starts
--min-runs, -m <NUM>Perform at least NUM runs for each command
--max-runs, -M <NUM>Perform at most NUM runs for each command. Default: no limit
--runs, -r <NUM>Perform exactly NUM runs for each command
--setup, -s <CMD>Execute cmd once before each set of timing runs
--prepare, -p <CMD ...>Execute cmd before each timing run. This is useful for clearing disk caches, for example
--cleanup, -c <CMD>Execute cmd after the completion of all benchmarking runs for each individual command to be benchmarked
--parameter-scan, -P <VAR> <MIN> <MAX>Perform benchmark runs for each value in the range min..max
--parameter-step-size, -D <delta>This argument requires --parameter-scan to be specified as well. Traverse the range min..max in steps of delta
--parameter-list, -L <VAR> <VALS>Perform benchmark runs for each value in the comma-separated list of values
--style <STYLE>Set output style type
--shell, -S <SHELL>Set the shell to use for executing benchmarked commands
--ignore-failure, -iIgnore non-zero exit codes of the benchmarked commands
--time-unit, -u <UNIT>Set the time unit to use for the benchmark results
--export-asciidoc <FILE>Export the timing summary statistics as an AsciiDoc table to the given file
--export-csv <FILE>Export the timing summary statistics as CSV to the given file
--export-json <FILE>Export the timing summary statistics and timings of individual runs as JSON to the given file
--export-markdown <FILE>Export the timing summary statistics as a Markdown table to the given file
--show-outputPrint the stdout and stderr of the benchmark instead of suppressing it
--command-name <NAME>Identify a command with the given name
--helpPrints help message
--versionShows version information