golang 基准测试

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 测试内存

发表评论

电子邮件地址不会被公开。 必填项已用*标注