{
"name": "hyperfine",
"description": "A command-line benchmarking tool",
"options": [
{
"names": [
"--warmup",
"-w"
],
"description": "Perform warmupruns (number) before the actual benchmarking starts",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"--min-runs",
"-m"
],
"description": "Perform at least NUM runs for each command",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"--max-runs",
"-M"
],
"description": "Perform at most NUM runs for each command. Default: no limit",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"--runs",
"-r"
],
"description": "Perform exactly NUM runs for each command",
"takes_arg": true,
"arg": {
"name": "NUM"
}
},
{
"names": [
"--setup",
"-s"
],
"description": "Execute cmd once before each set of timing runs",
"takes_arg": true,
"arg": {
"name": "CMD"
}
},
{
"names": [
"--prepare",
"-p"
],
"description": "Execute cmd before each timing run. This is useful for clearing disk caches, for example",
"takes_arg": true,
"arg": {
"name": "CMD ..."
}
},
{
"names": [
"--cleanup",
"-c"
],
"description": "Execute cmd after the completion of all benchmarking runs for each individual command to be benchmarked",
"takes_arg": true,
"arg": {
"name": "CMD"
}
},
{
"names": [
"--parameter-scan",
"-P"
],
"description": "Perform benchmark runs for each value in the range min..max",
"takes_arg": true,
"arg": {
"name": "VAR"
}
},
{
"names": [
"--parameter-step-size",
"-D"
],
"description": "This argument requires --parameter-scan to be specified as well. Traverse the range min..max in steps of delta",
"takes_arg": true,
"arg": {
"name": "delta"
}
},
{
"names": [
"--parameter-list",
"-L"
],
"description": "Perform benchmark runs for each value in the comma-separated list of values",
"takes_arg": true,
"arg": {
"name": "VAR"
}
},
{
"names": [
"--style"
],
"description": "Set output style type",
"takes_arg": true,
"arg": {
"name": "STYLE",
"suggestions": [
"basic",
"full",
"nocolor",
"color",
"none"
]
}
},
{
"names": [
"--shell",
"-S"
],
"description": "Set the shell to use for executing benchmarked commands",
"takes_arg": true,
"arg": {
"name": "SHELL",
"suggestions": [
"bash",
"zsh",
"sh",
"fish",
"pwsh",
"powershell"
]
}
},
{
"names": [
"--ignore-failure",
"-i"
],
"description": "Ignore non-zero exit codes of the benchmarked commands"
},
{
"names": [
"--time-unit",
"-u"
],
"description": "Set the time unit to use for the benchmark results",
"takes_arg": true,
"arg": {
"name": "UNIT",
"suggestions": [
"millisecond",
"second"
]
}
},
{
"names": [
"--export-asciidoc"
],
"description": "Export the timing summary statistics as an AsciiDoc table to the given file",
"takes_arg": true,
"arg": {
"name": "FILE",
"template": "filepaths"
}
},
{
"names": [
"--export-csv"
],
"description": "Export the timing summary statistics as CSV to the given file",
"takes_arg": true,
"arg": {
"name": "FILE",
"template": "filepaths"
}
},
{
"names": [
"--export-json"
],
"description": "Export the timing summary statistics and timings of individual runs as JSON to the given file",
"takes_arg": true,
"arg": {
"name": "FILE",
"template": "filepaths"
}
},
{
"names": [
"--export-markdown"
],
"description": "Export the timing summary statistics as a Markdown table to the given file",
"takes_arg": true,
"arg": {
"name": "FILE",
"template": "filepaths"
}
},
{
"names": [
"--show-output"
],
"description": "Print the stdout and stderr of the benchmark instead of suppressing it"
},
{
"names": [
"--command-name"
],
"description": "Identify a command with the given name",
"takes_arg": true,
"arg": {
"name": "NAME"
}
},
{
"names": [
"--help"
],
"description": "Prints help message"
},
{
"names": [
"--version"
],
"description": "Shows version information"
}
],
"args": [
{
"name": "CMD",
"description": "Command to benchmark"
}
]
}