Golang系列-benchmark

45 阅读1分钟

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=.