hyperfine-benchmarking について
hyperfine-benchmarkingは、再現可能な条件でコマンドラインの性能を測るスキルです。開発者がコマンドの比較やスクリプト変更の評価を行い、レビュー用の結果をまとめるのに役立ちます。
主な機能
- 01複数のコマンドラインコマンドを比較
- 02ウォームアップと反復測定
- 03コマンドパラメーターのスイープ
- 04JSONとMarkdown形式で結果を出力
- 05ベンチマーク条件を記録
活用シーン
- 01異なるコマンド実装を比較
- 02スクリプト変更の前後で性能を測定
- 03Pull Requestにベンチマーク結果を添付
- 04ばらつきの大きい測定結果を調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ akillness/ jeo-skills --skill hyperfine-benchmarkingインストール後、Claude Code で/hyperfine-benchmarkingを入力して読み込まれたか確認します。
詳細
hyperfine によるベンチマーク
単発の time 出力ではなく、再現可能な手法で CLI コマンドをベンチマークします。
このスキルを使う場面
- 2 つ以上のコマンドのバリエーション(
tool-aとtool-bなど)を比較する - スクリプト変更の前後でパフォーマンスへの影響を検証する
- PR にベンチマークの根拠を添付する
手順
- ツールが利用可能であることを確認します。
- 比較するコマンド間で、入力、作業ディレクトリ、環境を一定に保ちます。
- ウォームアップを行い、ばらつきが安定するまで十分な回数実行します。
- 確認用に JSON/Markdown 形式で出力します。
- 相対的な高速化の度合いとリスクに関する注意事項をまとめます。
例
利用可能か確認する
hyperfine --version
2 つのコマンドを比較する
hyperfine \
--warmup 3 \
--min-runs 10 \
'cmd_a --with flags' \
'cmd_b --with flags'
パラメーターを一括して変えて比較する
hyperfine \
--warmup 3 \
--parameter-list mode fast,balanced,thorough \
'mytool --mode {mode} input.txt'
成果物をエクスポートする
hyperfine \
--warmup 3 \
--min-runs 10 \
--export-json benchmark.json \
--export-markdown benchmark.md \
'cmd_a' 'cmd_b'
ベストプラクティス
- 単発の実行結果ではなく、相対的な高速化の度合いと信頼区間を重視します。
- 出力を正規化しない限り、意味の異なるコマンドを比較しないでください。
- ばらつきが大きい場合は、結論を出す前に実行回数を増やすか、バックグラウンドのノイズを減らしてください。
- PR の本文にデータセット/パスと正確なコマンド文字列を記録します。
参考資料
- hyperfine プロジェクト:https://github.com/sharkdp/hyperfine
- ドキュメント:https://github.com/sharkdp/hyperfine#readme
コメント
Markdown 対応