面试题答案
一键面试基本步骤
- 导入
testing
包:在需要进行基准测试的Go文件中导入testing
包,它是Go语言内置的测试包,包含了基准测试相关的功能。 - 编写基准测试函数:函数命名规则为
Benchmark
+ 被测试函数名,例如BenchmarkAdd
。函数接收一个*testing.B
类型的参数。 - 在基准测试函数中执行测试:在
testing.B
的ResetTimer
方法之后,使用循环(一般是for i := 0; i < b.N; i++
)多次调用被测试的函数,b.N
是Go测试框架为了得到稳定可靠的基准测试结果而自动调整的循环次数。 - 运行基准测试:在命令行进入包含基准测试函数的Go文件所在目录,执行
go test -bench=.
命令,其中-bench=.
表示运行所有基准测试。
示例代码
package main
import "testing"
func Add(a, b int) int {
return a + b
}
func BenchmarkAdd(b *testing.B) {
for i := 0; i < b.N; i++ {
Add(1, 2)
}
}
在上述代码中,定义了Add
函数用于加法运算,然后编写了BenchmarkAdd
基准测试函数,在函数中循环调用Add
函数进行基准测试。运行go test -bench=.
命令即可看到对Add
函数的基准测试结果。