Hyperfine
命令列基準測試工具
軟體分類 生產力 / 系統工具
軟體標籤
rated-1雙重驗證 (2FA)man
開發廠商 sharkdp
產品說明
Hyperfine 是一款強大的命令列基準測試(Benchmarking)工具。當開發者需要比較兩個指令的執行速度(例如:grep 與 ripgrep),或者測試程式碼優化後的效能提升時,Hyperfine 能提供遠比系統內建 time 指令更精確、更具統計意義的結果。
它會自動進行多次執行以消除系統隨機誤差,並支援在測試前執行「預熱(Warmup)」以排除磁碟緩存的影響。最令人驚艷的是,它能直接對比多個指令並生成直觀的摘要,告訴你 A 指令比 B 指令快了多少倍。
核心特色:
- 統計穩定性:自動計算平均值、標準差,並偵測統計上的離群值。
- 熱機/冷機測試:支援設定預熱次數(Warmup runs),確保測試環境的一致性。
- 多指令對比:一次輸入多個指令,自動生成效能對比倍數分析。
- 多樣化輸出:支援將結果導出為 CSV、JSON 或 Markdown 表格,方便撰寫測試報告。
- 參數掃描:支援透過變數測試不同參數組合(例如測試不同執行緒數下的效能)。
常用指令
Hyperfine 的基本語法非常直覺,通常用於對比與重複測試。
基礎效能測試
# 測試單一指令執行速度
hyperfine 'sleep 0.3'
# 對比兩個指令的效能 (例如 fd 與 find)
hyperfine 'fd' 'find .'
# 包含預熱 (Warmup) 的測試
hyperfine --warmup 3 'grep -r "pattern" .'
| 常用參數 | 功能說明 | 使用場景 |
|---|---|---|
| -w / –warmup | 執行前的預熱次數 | 排除硬碟快取對首次執行的影響 |
| -m / –min-runs | 最少執行次數 | 確保統計數據具備代表性 |
| -p / –prepare | 每次測試前的準備指令 | 例如測試前清理快取:sync; echo 3 > /proc/sys/vm/drop_caches |
| -P / –parameter-scan | 參數範圍掃描 | 測試 grep --threads {n} 中 n 從 1 到 8 的效能變動 |
輸出結果範例
當執行對比測試時,Hyperfine 會輸出如下摘要:
Summary
'fd' ran
1.42 ± 0.05 times faster than 'find .'
操作介面
