go test benchmark 性能分析
1、benchmark
新建文件以_test.go结尾
新增函数,以Benchmark开头
源码:
package main
import "testing"
func BenchmarkTest(b *testing.B) {
b.ResetTimer()
for i:=0; i<b.N; i++ {
Print()
}
//runtime.GC()
}
func Print() {
//测试代码
}
接下来就可以benchmark
go test -bench=. -benchmem
结果:
2、性能分析-pprof
命令:
go test -bench=. -benchmem -memprofile memprofile.out -cpuprofile profile.out
执行后会生成两个文件,cpu和内存相关分析的问题
go tool pprof -pdf profile.out > cpu.pdf
go tool pprof -pdf memprofile.out > mem.pdf
执行这两个命令后,会生成性能分析图
保证环境安装了,graphviz可视化软件,以下命令安装graphviz
brew install graphviz
性能分析结果:
还没有评论,来说两句吧...