A command-line benchmarking tool that performs statistical analysis across multiple runs to accurately measure and compare shell command execution times.
hyperfine is a command-line benchmarking tool that measures and compares the execution time of shell commands. It solves the problem of unreliable one-off timing by running commands multiple times, performing statistical analysis, and correcting for overhead to provide accurate performance insights.
Developers, system administrators, and performance engineers who need to benchmark command-line tools, scripts, or system commands to optimize performance or compare alternatives.
Developers choose hyperfine for its statistical rigor, ease of use, and advanced features like warmup runs, outlier detection, and export options, which provide more reliable and actionable benchmarks than simple timing commands.
A command-line benchmarking tool
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Performs multiple runs with mean, min, max, and outlier detection to ensure reliable benchmark results, correcting for measurement overhead as described in the README.
Supports benchmarking arbitrary shell commands, functions, and aliases across different shells, with automatic shell spawning time correction for accurate timing.
Includes warmup runs, preparation commands for cache control, and parameterized scans to simulate various testing conditions, enabling comprehensive performance analysis.
Runs on Linux, macOS, Windows and exports results to formats like CSV, JSON, and Markdown for easy integration with reporting tools and CI pipelines.
Accurate timing for fast commands requires using --shell=none, which disables shell features like wildcards and aliases, limiting usability for complex command chains.
Preparing for cold cache benchmarks involves system-specific commands (e.g., clearing disk caches on Linux) that often require sudo permissions, adding operational overhead and potential security concerns.
While it exports data, creating visualizations like histograms or whisker plots requires additional Python scripts from the repository, not built directly into the tool, increasing setup steps.