hyperfine CLI
hyperfine repeatedly runs commands, compares timing and other metrics and exports measurements for review and automation.
- 29,215 ★ on the repository
- Last commit
- Apache-2.0
Extended access
Why this level
- The tool repeatedly executes the supplied commands and preparation steps under the user account.
Install
Manual install
apt install hyperfineFirst README installation method, for Ubuntu.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The tool repeatedly executes the supplied commands and preparation steps under the user account.
This is third-party code. Review the repository files before installing.
What it does
hyperfine benchmarks commands across repeated runs and compares results. It reports variation and outliers, with automatic or explicit run counts. Warmups, preparation commands and parameter scans support repeatable experiments. An agent can compare builds or scripts and export JSON, CSV or Markdown. Review the repeated effects of each measured command first.
Who it is for. Performance engineers comparing command runtime before and after an optimization on the same input data.
Good fit when
- Two script versions need repeated comparison on the same dataset.
- Build time depends on thread count and a parameter sweep is needed.
- The first run is slower and the experiment needs warmups.
- Performance results need exporting for a pull-request discussion.
Not a fit when
- The command makes a real payment or another non-repeatable change.
- You need to identify a hot function inside the program.
- Compared runs use uncontrolled data or environment states.
Example request
Compare the old and new scripts on copied data with warmups and JSON output. Verify repeated runs cannot change originals first.Limitations
Measured commands execute repeatedly, so review their side effects before benchmarking. Disk caches and competing processes affect results; choose warmups or preparation and keep conditions consistent. By default, hyperfine runs commands without an intermediate shell; explicitly enable shell mode for pipelines and redirections. Setup and cleanup commands always use a shell and may change state beyond the measured process.
How to disable. Interrupt the benchmark and inspect remaining processes and generated files. Uninstalling hyperfine does not reverse executed commands.
FAQ
How many runs are performed?
At least 10 by default, with an estimated total. Use `--runs` for a fixed count.
How do I add warmups?
Pass a run count with `--warmup` before the measured series.
Why does a pipeline fail?
Commands currently run without a shell. Review the command and explicitly enable `-S` for shell syntax.
Which command is the baseline?
The first one. Later results compare against it, so choose the order deliberately.
Can I compare parameter values?
Yes. Numeric ranges and value lists are supported. Test a small set first.
Discussion
No questions or reviews yet.
Related
CLI toolsA CLI for performance measurement and regression detection; the repository also holds a plugin with two skills and MCP for Claude Code and Cursor
A skill runs a third-party coding-agent harness through 30 benchmark tasks and compares pass rate, cost and speed.
A CLI for testing and red teaming LLM applications: compares models, runs automated CI checks and finds vulnerabilities
Vercel CLI for testing coding agents on your framework: runs Claude Code, Codex and others and measures the success rate
A Rust HTTP load-testing tool with an MCP server: an agent runs a benchmark and gets latency percentiles and status breakdowns.
Caliper runs agent tasks with and without your skill, then shows whether the skill helps and how many tokens it costs
README in short
Exports support text and structured formats. Additional hardware counters have platform and execution-mode restrictions.