go Benchmark的运行

格式

  1. 文件名必须以_test结尾。
  2. 方法名必须已Benchmark开头。
  3. 测试方法需要使用 *testing.B。

命令行参数

输入参数

go test -v -bench=. -benchmem -count=3 

参数含义

1.-bench 后面代表为需要测试的方法。如果是"."则代表执行所有的Benchmark开头的方法。
2.-benchmem 则代表输出参数中会展示内存的消耗和申请次数。
3,-count 代表测试次数

输出参数

Benchmark1-8    12412908                96.4 ns/op            16 B/op          2 allocs/op
Benchmark1-8    12856522                94.8 ns/op            16 B/op          2 allocs/op
Benchmark1-8    12992362                92.8 ns/op            16 B/op          2 allocs/op

输出参数含义

  1. ns/op 代表每次执行逻辑消耗的时间
  2. B/op 代表每次执行逻辑消耗的内存
  3. allocs/op代表每次执行逻辑申请内存的次数

样例-demo

package test

import (
	"fmt"
	"testing"
)

func Benchmark1(b *testing.B)  {
     
	//b.ResetTimer() 可以指定开始计时的位置
	for i:=0;i<b.N ;i++  {
     
		fmt.Sprintf("%d",i)
	}
	//b.StopTimer() 计时的结束的位置
}

你可能感兴趣的:(golang)