sharkdp/hyperfine

A command-line benchmarking tool

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 37 minutes ago
Added to GitGenius on September 1st, 2026
Created on January 13th, 2018
Open Issues & Pull Requests: 97 (+0)
GitHub issues: Enabled
Number of forks: 509
Total Stargazers: 28,816 (+0)
Total Subscribers: 109 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

Hyperfine is a command-line benchmarking tool that measures and compares the performance of shell commands with statistical rigor.

The tool solves the problem of accurately benchmarking command execution by automating the collection and analysis of multiple runs. It automatically determines how many iterations to perform based on a minimum run count and measurement duration, then applies statistical analysis to detect outliers that might indicate interference from other processes or caching effects. The tool corrects for shell spawning overhead by calibrating against empty command invocations, ensuring that reported times reflect actual command performance rather than shell startup costs.

Hyperfine suits developers and system administrators who need to compare tool performance, optimize scripts, or validate performance improvements. It works well for benchmarking file search utilities, build tools, data processing commands, or any scenario where consistent measurement across multiple runs matters. The tool handles both simple comparisons of two commands and complex parameterized benchmarks where a variable like thread count or input size is systematically varied. Results can be exported to CSV, JSON, Markdown, or AsciiDoc formats for documentation or further analysis. Warmup runs prepare caches before measurement, while preparation commands can clear caches between runs to simulate cold-start conditions. The tool runs cross-platform and supports custom shell selection.

The project maintains active continuous integration workflows. Development follows a structured release process with version tracking. The codebase is written in Rust, reflecting a focus on performance and reliability for a benchmarking tool.