Repolode
sharkdp

sharkdp/hyperfine

一款命令行基准测试工具,支持统计分析、预热运行,并可导出为 CSV、JSON、Markdown 等格式。

Star
29,139
Fork
555
未关闭 Issue
62
最近提交
10天前

这是什么?

hyperfine 用于测量 shell 命令的运行耗时。传入一个或多个命令后,它会重复执行每条命令,输出平均值、标准差、中位数、最小值和最大值,并标记可能受其他程序或缓存干扰的统计异常值。同时比较多条命令时,会以第一条命令为基准显示相对速度差异。

除了挂钟时间,它还能采集 CPU 用户态与内核态时间、峰值内存,在 Linux 上还可读取 CPU 周期、指令数和缓存未命中等硬件计数器。通过预热运行和每次运行前的准备命令(如清除文件系统缓存),可以分别测试热缓存和冷缓存场景。参数扫描和参数列表功能则能从同一模板生成一组基准测试。

结果可导出为 CSV、JSON、Markdown、AsciiDoc 或 org-mode 格式。JSON 结果可配合仓库中的 Python 脚本进一步分析,生成直方图和须线图。该工具支持 Linux、macOS 和 Windows。

核心功能

  • 01重复运行命令,输出平均值、中位数、标准差及最小/最大值。
  • 02检测可能由外部干扰或缓存效应导致的统计异常值。
  • 03支持预热运行和准备命令,用于控制缓存状态。
  • 04通过参数扫描和参数列表,从同一模板生成多组基准测试。
  • 05采集挂钟时间、CPU、内存指标,Linux 上还可读取硬件计数器。
  • 06可导出为 CSV、JSON、Markdown、AsciiDoc 和 org-mode。

适用场景

  • 对比功能相同的两个命令行工具速度,例如 grep 与 ripgrep。
  • 通过切换 Git 分支,衡量代码改动对构建或脚本耗时的影响。
  • 分别在热缓存和冷缓存条件下测试程序性能。
  • 为文档或报告生成基准测试对比表格。

快速上手

  1. 1

    在 Ubuntu 上从官方仓库安装

    apt install hyperfine
  2. 2

    对一个命令运行第一次基准测试

    hyperfine 'sleep 0.3'

使用前须知

  • 部分功能(如硬件计数器)仅支持 Linux,Windows 上不支持。

标签

常见问题

hyperfine 是什么?
一款命令行基准测试工具,支持统计分析、预热运行,并可导出为 CSV、JSON、Markdown 等格式。 hyperfine 用于测量 shell 命令的运行耗时。传入一个或多个命令后,它会重复执行每条命令,输出平均值、标准差、中位数、最小值和最大值,并标记可能受其他程序或缓存干扰的统计异常值。同时比较多条命令时,会以第一条命令为基准显示相对速度差异。
hyperfine 可以免费使用吗?用的什么许可证?
hyperfine 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
hyperfine 还在维护吗?
活跃维护中。hyperfine 最近一次提交是在 2026年10月12日。
hyperfine 适合用来做什么?
对比功能相同的两个命令行工具速度,例如 grep 与 ripgrep。 通过切换 Git 分支,衡量代码改动对构建或脚本耗时的影响。 分别在热缓存和冷缓存条件下测试程序性能。 为文档或报告生成基准测试对比表格。
hyperfine 怎么安装和运行?
在 Ubuntu 上从官方仓库安装: apt install hyperfine 对一个命令运行第一次基准测试: hyperfine 'sleep 0.3'
在哪里获取 hyperfine?
源代码和安装说明在 GitHub 上:https://github.com/sharkdp/hyperfine

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目