Introduction
Go的testing包具有benchmark功能,可以用来测试代码性能。
Usage
用testing包写基准测试跟写测试用例非常像,它们的不同点主要有
- Benchmark 函数用
Benchmark开头而不Test。 - Benchmark 函数将被执行b.N次。
func Fib(n int) int {
if n < 2 {
return n
}
return Fib(n - 1) + Fib(n - 2)
}
// placed in fib_test.go
func BenchMarkFib10(b *testing.B) {
for n := 0; n < b.N; n++ {
Fib(10)
}
}
Running benchmarks
输入如下命令来执行基准测试
go test -bench=.