Test
Benchmark
関数名の接頭辞にBenchmarkをつけて*testing.Bを受け取る関数をつくるとベンチマークをとれる。-benchmemでベンチマーク中のメモリの情報がとれる。
profileをとる
-cpuprofile [ファイルパス]: ベンチマーク中のCPUのプロファイルを取得し出力します。-memprofile [ファイルパス]: ベンチマーク中のmemoryアロケーションのプロファイルを取得し出力します。-trace [ファイルパス]: ベンチマーク中のtraceを取得し出力します。-gcflags: gcコンパイラにわたすフラグを設定できる。-mを渡すと最適化の結果を確認できる。
go test -benchmem -cpuprofile pprof/cpu.out -memprofile pprof/mem.out -bench BenchmarkCtable github.com/showa-93/hashing/hashtable
取得したprofileをwebで参照する。
go tool pprof -http ":8080" pprof/cpu.out