Goでテーブル駆動のベンチマークをとる方法
2026-02-23 19:15:24 go公式に記載ありますが、まとめてみます。
ベンチマークのシナリオ
- 数値を文字列に変換する関数を作った。
- 標準パッケージが提供する同種の関数と、パフォーマンスの比較をしたい。
- テーブルとして用意したテストケースそれぞれについて比較をしたい。
書き方(ベンチマークの部分のみ)
| |
結果の出力例
go test -bench .
全部で6つあるテスト結果のうち、前半4つがテーブル駆動の出力例です。
BenchmarkStringer/plus(std)-8 144737995 8.125 ns/op
BenchmarkStringer/plus(my)-8 54076951 20.84 ns/op
BenchmarkStringer/minus(std)-8 17072347 61.68 ns/op
BenchmarkStringer/minus(my)-8 26117388 40.63 ns/op
BenchmarkStringer/std-all-8 16578752 70.74 ns/op
BenchmarkStringer/my-all-8 19311915 64.46 ns/op
対象を絞り込む
-bench xxx でベンチマーク対象となるテストケースを絞り込むこともできます。
go test -bench /minus
BenchmarkStringer/minus(std)-8 17571860 67.47 ns/op
BenchmarkStringer/minus(my)-8 27569918 43.05 ns/op
- 📄 CaddyでWAFしてみる2026-02-25 22:04:31Windows に Caddy+Coraza+CoreRuleSet で WAF を入れます。
- 📄 HugoのGoATについてのちょっとしたこと2026-02-25 00:53:27テキスト上の表記が描画内容とかなり近い記法 GoAT
- 📄 yaya2026-02-23 19:15:24暇つぶし弾よけゲーム
- 📄 git-cx2026-02-23 19:15:24gitのコミットメッセージを、コマンドラインで選択しながら構築していくツール
- 📄 Hugo テーマ 6. Render Hook2026-02-23 19:15:24#5 の題材を、今度は Render Hook という機能を使って実装します。
- 📄 Goでテーブル駆動のベンチマークをとる方法2026-02-23 19:15:24公式に記載ありますが、まとめてみます。
- 📄 Keychron K15 Pro2026-02-23 19:15:24買ったので雑に感想でも書いてみます。
- 📄 Goのパッケージ2026-02-23 19:15:24Go向けパッケージの一覧
- 📄 slog-handler-guide2026-02-23 19:15:24slog-handler-guide の解説
- 📄 Vim LSP メモ2026-02-23 19:15:24忘れそうな内容をメモ