Go について学ぶとfmt.Println(testing.Benchmark(BenchmarkFunction))
、次のように設定すると、 を使用して関数のベンチマークを実行できることがわかります。
func BenchmarkFunction(b *testing.B) {
n := 42
for i := 0; i < b.N; i++ {
_ = Function(n)
}
}
ただし、BenchmarkFunction
これを行うすべてのメソッドのすべてのベンチマークに対してコードが繰り返されるため(したがって、DRYに関してコードの匂いがします)、クロージャーを使用して(または他の方法で)これを書き換える方法はありますか?関数のベンチマークは次のように書き直すことができます。
fmt.println(test.BenchmarkMyFunction(MyFunction(parameters...)))
私のコードまたはtesting
ライブラリに追加されましたか?