2
私のアプリケーションでベンチマークを実行したい。それは可能ですか?もしそうなら、どうすればいいですか?私は周りを見回してきましたが、これまでのところ何の示唆も見ていません。golangで "go test"を実行しないでベンチマークを実行する
私のアプリケーションでベンチマークを実行したい。それは可能ですか?もしそうなら、どうすればいいですか?私は周りを見回してきましたが、これまでのところ何の示唆も見ていません。golangで "go test"を実行しないでベンチマークを実行する
testing.Benchmarkはgo test
を実行せずに使用できます。
package main
import (
"fmt"
"testing"
)
func Fib(n int) int {
if n <= 0 {
return 0
} else if n == 1 {
return 1
}
return Fib(n-1) + Fib(n-2)
}
func main() {
res := testing.Benchmark(func(b *testing.B) {
for n := 0; n < b.N; n++ {
Fib(10)
}
})
fmt.Println(res)
// (on my mac)
// 3000000 454 ns/op
}