# hyperfine

> command-line benchmarking tool

**Wikidata**: [Q107010388](https://www.wikidata.org/wiki/Q107010388)  
**Source**: https://4ort.xyz/entity/hyperfine

## Summary
Hyperfine is a command-line benchmarking tool designed for accurate performance measurement of shell commands across Unix-like systems and Microsoft Windows. It provides statistical analysis of execution times and supports features like warmup runs and cross-platform compatibility. The tool is free software released under both the Apache License 2.0 and MIT License.

## Key Facts
- Used for benchmarking shell commands with statistical analysis of runtime performance
- Supports multiple operating systems including Unix-like systems and Microsoft Windows
- First stable release (v1.0.0) published on March 24, 2018
- Licensed under dual licenses: Apache Software License 2.0 and MIT License
- Available through package managers such as Homebrew, Arch Linux, Gentoo, FreeBSD, OpenBSD, and Alpine Linux
- Written in Rust, as indicated by its presence on crates.io with ID "hyperfine"
- Source code hosted at https://github.com/sharkdp/hyperfine using Git Smart HTTP over TLS
- Maintained as free software allowing users to run, study, modify, and redistribute it

## FAQs
### Q: What is hyperfine used for?
A: Hyperfine is used to benchmark the execution time of shell commands. It measures how long programs take to run and offers detailed statistics, making it useful for developers and system administrators who want to compare the performance of different tools or scripts.

### Q: Is hyperfine free to use?
A: Yes, hyperfine is free software. It is distributed under both the Apache Software License 2.0 and the MIT License, which permit users to freely run, study, change, and distribute the software and its modified versions.

### Q: On which platforms can I install hyperfine?
A: Hyperfine runs on Unix-like operating systems and Microsoft Windows. It is packaged for various distributions including Arch Linux, Gentoo, FreeBSD, OpenBSD, Alpine Linux, and macOS via Homebrew.

## Why It Matters
Hyperfine plays a critical role in performance evaluation within development and DevOps workflows. By offering precise timing measurements and statistical summaries—including mean, standard deviation, and median—it enables engineers to make informed decisions about command-line tools and script efficiency. Its cross-platform support ensures consistent benchmarking environments regardless of the underlying OS. As part of the modern toolkit for shell scripting and automation, hyperfine contributes to more efficient software practices by enabling empirical comparisons between alternative approaches. Furthermore, being open-source fosters community contributions and transparency in performance testing methodologies.

## Notable For
- Dual licensing under both Apache 2.0 and MIT Licenses, increasing adoption flexibility
- Cross-platform availability including Unix-like systems and Microsoft Windows
- Integration into major package ecosystems such as Homebrew, Arch Linux, and Alpine Linux
- Built-in warmup feature that discards initial runs to reduce caching effects
- Comprehensive output formatting options including JSON export for further analysis

## Body

### Overview
Hyperfine is a console application specifically built for benchmarking command-line operations. Designed with accuracy and usability in mind, it allows users to measure and analyze the execution speed of arbitrary shell commands. It outputs results in human-readable formats while also supporting machine-readable exports such as JSON.

### Development and Licensing
The project was initiated by David Peter (GitHub username sharkdp), with early releases starting from v0.2.0 on January 14, 2018. The software is copyrighted but made freely available under two permissive open-source licenses: Apache Software License 2.0 and MIT License. These dual licenses provide flexibility for integration into other projects and commercial use cases.

### Technical Details
- **Programming Language**: Rust  
- **Source Repository**: [https://github.com/sharkdp/hyperfine](https://github.com/sharkdp/hyperfine)  
- **Package Availability**:
  - Crates.io: `hyperfine`
  - Homebrew Formula: `hyperfine`
  - Arch Linux Package: `hyperfine`
  - Gentoo Package: `app-benchmarks/hyperfine`
  - Alpine Linux Packages: `hyperfine`, `hyperfine-doc`, `hyperfine-bash-completion`, etc.
  - SlackBuilds: `system/hyperfine`

### Supported Platforms
Hyperfine operates on:
- Unix-like operating systems
- Microsoft Windows

This broad compatibility makes it suitable for diverse computing environments.

### Version History Highlights
| Version | Release Date   |
|---------|----------------|
| 0.2.0   | Jan 14, 2018   |
| 0.5.0   | Mar 3, 2018    |
| 1.0.0   | Mar 24, 2018   |
| 1.5.0   | Dec 12, 2018   |

These early iterations established core functionality including statistical reporting, warmup runs, and export capabilities.

### Features
- Statistical analysis of repeated executions
- Warmup rounds to mitigate startup/cache effects
- Exportable result sets in JSON format
- Customizable number of benchmark runs
- Shell command comparison mode for side-by-side evaluations

These features position hyperfine as a robust utility for empirical performance assessment in terminal-based workflows.

## References

1. [Source](https://crates.io/crates/hyperfine)
2. [2025](https://github.com/EvanLi/Github-Ranking/blob/master/Data/github-ranking-2025-07-06.csv)
3. [Release 0.2.0. 2018](https://github.com/sharkdp/hyperfine/releases/tag/v0.2.0)
4. [Release 0.3.0. 2018](https://github.com/sharkdp/hyperfine/releases/tag/v0.3.0)
5. [Release 0.4.0. 2018](https://github.com/sharkdp/hyperfine/releases/tag/v0.4.0)
6. [Release 0.5.0. 2018](https://github.com/sharkdp/hyperfine/releases/tag/v0.5.0)
7. [Release 1.0.0. 2018](https://github.com/sharkdp/hyperfine/releases/tag/v1.0.0)
8. [Release 1.1.0. 2018](https://github.com/sharkdp/hyperfine/releases/tag/v1.1.0)
9. [Release 1.2.0. 2018](https://github.com/sharkdp/hyperfine/releases/tag/v1.2.0)
10. [Release 1.3.0. 2018](https://github.com/sharkdp/hyperfine/releases/tag/v1.3.0)
11. [Release 1.4.0. 2018](https://github.com/sharkdp/hyperfine/releases/tag/v1.4.0)
12. [Release 1.5.0. 2018](https://github.com/sharkdp/hyperfine/releases/tag/v1.5.0)
13. [Release 1.6.0. 2019](https://github.com/sharkdp/hyperfine/releases/tag/v1.6.0)
14. [Release 1.7.0. 2019](https://github.com/sharkdp/hyperfine/releases/tag/v1.7.0)
15. [Release 1.8.0. 2019](https://github.com/sharkdp/hyperfine/releases/tag/v1.8.0)
16. [Release 1.9.0. 2019](https://github.com/sharkdp/hyperfine/releases/tag/v1.9.0)
17. [Release 1.10.0. 2020](https://github.com/sharkdp/hyperfine/releases/tag/v1.10.0)
18. [Release 1.11.0. 2020](https://github.com/sharkdp/hyperfine/releases/tag/v1.11.0)
19. [Release 1.12.0](https://github.com/sharkdp/hyperfine/releases/tag/v1.12.0)
20. [Release 1.13.0](https://github.com/sharkdp/hyperfine/releases/tag/v1.13.0)
21. [Release v1.14.0](https://github.com/sharkdp/hyperfine/releases/tag/v1.14.0)
22. [Release 1.15.0. 2022](https://github.com/sharkdp/hyperfine/releases/tag/v1.15.0)
23. [Release 1.16.0. 2023](https://github.com/sharkdp/hyperfine/releases/tag/v1.16.0)
24. [Release 1.16.1. 2023](https://github.com/sharkdp/hyperfine/releases/tag/v1.16.1)
25. [Release 1.17.0. 2023](https://github.com/sharkdp/hyperfine/releases/tag/v1.17.0)
26. [Release 1.18.0. 2023](https://github.com/sharkdp/hyperfine/releases/tag/v1.18.0)
27. [Release 1.19.0. 2024](https://github.com/sharkdp/hyperfine/releases/tag/v1.19.0)
28. [Release 1.20.0. 2025](https://github.com/sharkdp/hyperfine/releases/tag/v1.20.0)
29. [Source](https://github.com/sharkdp/hyperfine)