benchmark-analyzer
Installation
SKILL.md
手順
- ベンチマーク対象の特定:
- ユーザー指定がある場合: その関数
- 指定がない場合: パフォーマンスが重要な関数を検出
- 既存ベンチマークの確認:
*_test.go内のBenchmark関数を検索- 存在しない場合は、ベンチマーク関数を生成
- ベンチマーク実行:
go test -bench=. -benchmem -benchtime=3sを実行- 複数回実行して安定した結果を取得
- 結果の分析:
- ns/op (1操作あたりのナノ秒)
- B/op (1操作あたりのバイトアロケーション)
- allocs/op (1操作あたりのアロケーション回数)
- ボトルネック特定:
- CPU プロファイリング(必要に応じて)
- メモリプロファイリング(アロケーションが多い場合)
go test -bench=. -cpuprofile=cpu.prof
- 改善提案: