Benchmark 基本测试
import (
"fmt"
"testing"
)
// 需要以Benchmark 开头
func BenchmarkFunction(b *testing.B) {
// N 是执行次数
for i := 0; i < b.N; i++ {
// 此处业务代码
// 每次执行上报内存信息
b.ReportAllocs()
}
}
基准测试指标
- nm/op 每次执行耗时纳秒
- 每秒执行次数
- B/op 每次执行申请堆内存字节数
- allocs/op 每次执行申请对象数量
- BenchmarkFib-8 ,此处的8核心执行
测试函数
- b.ReportAllocs() 上报内次内存信息
- b.ResetTimer() 重置时间
- b.StartTimer() 开始时间
- b.StopTimer() 结束时间
goland 使用
- Program arguements 增加 -test.benchmem 测试内存