# Hyperfine — Command-Line Benchmarking Tool > Hyperfine is a command-line benchmarking tool written in Rust. Run benchmarks with statistical analysis: multiple runs, warmup, outlier detection, comparison across commands, and export results. By the author of bat and fd. ## Install Save the content below to `.claude/skills/` or append to your `CLAUDE.md`: ## Quick Use ```bash brew install hyperfine # macOS cargo install hyperfine # Rust sudo apt install hyperfine # Debian/Ubuntu ``` ```bash # Basic benchmark hyperfine "sleep 0.5" # Compare two commands hyperfine "fd pattern" "find . -name pattern" # With warmup runs hyperfine --warmup 3 "cargo build" # Multiple commands with labels hyperfine \ -n ripgrep "rg pattern" \ -n grep "grep -r pattern ." # Export results hyperfine --export-markdown results.md "rg pattern" "grep -r pattern ." hyperfine --export-json results.json "command" # Parameter scan hyperfine --parameter-scan threads 1 8 "cargo build -j {threads}" # Preparation command (runs before each) hyperfine --prepare "sync; echo 3 | sudo tee /proc/sys/vm/drop_caches" "cat large_file" ``` ## Intro Hyperfine is a command-line benchmarking tool written in Rust by David Peter (also author of bat, fd, and pastel). Runs a command multiple times, performs statistical analysis, detects outliers, and outputs clean formatted results. The standard tool for CLI benchmarking. - **Repo**: https://github.com/sharkdp/hyperfine - **Stars**: 27K+ - **Language**: Rust - **License**: Apache 2.0 + MIT ## What Hyperfine Does - **Multiple runs** — statistical significance (mean, stddev, min, max) - **Warmup** — configurable warmup runs before measurement - **Outlier detection** — flags and handles statistical outliers - **Comparison** — benchmark multiple commands side by side - **Parameter scan** — sweep a variable across values - **Preparation** — run setup before each benchmark iteration - **Export** — Markdown, JSON, CSV, AsciiDoc - **Shell** — configurable shell or no shell - **Progress bar** — visual progress during runs ## Comparison | Tool | Statistical | Multi-cmd | Export | |---|---|---|---| | Hyperfine | Full | Yes | MD/JSON/CSV | | time (shell) | None | No | No | | bench (Go) | Basic | No | No | | poop (Zig) | Full | Yes | Terminal | ## FAQ **Q: How many runs are needed?** A: By default it decides automatically (at least 10 runs or 3 seconds). Add `--min-runs 50` or `--max-runs 100` for precise control. **Q: How to eliminate cache effects?** A: Use `--prepare` to clear caches before each run, or `--warmup 5` to let caches stabilize before timing. ## Sources - GitHub: https://github.com/sharkdp/hyperfine - License: Apache 2.0 + MIT --- Source: https://tokrepo.com/en/workflows/hyperfine-command-line-benchmarking-tool-ce6e174e Author: Script Depot