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: 需要多少次运行?
A: 默认自动决定(至少 10 次或 3 秒)。加 --min-runs 50 或 --max-runs 100 精确控制。
Q: 怎么排除缓存影响?
A: 用 --prepare 在每次运行前清缓存;或 --warmup 5 让缓存稳定后再计时。
来源与致谢 Sources
- GitHub: https://github.com/sharkdp/hyperfine
- License: Apache 2.0 + MIT