如何进行基准测试在 Go 中,可以使用内置的 testing 包来编写基准测试,通过 go test -bench 运行。以下是一个简单示例:文件名 main_test.gopackage main import "testing" func BenchmarkSum(b *testing.B) { for i := 0; i < b.N; i++ { _ = 1 + 2 } }运行命令:go test -bench=., 这是我的结果➜ godemo go test -bench=. goos: darwin goarch: arm64 pkg: test2 cpu: Apple M2 Pro BenchmarkSum-10 1000000000 0.4225 ns/op PASS ok test2 1.101s可以看到每次循环体的时间是 0.4225 ns性能优化误区忽视初始化:测试中包含无关的初始化代码会干扰结果,如果有干扰代码的话,进入循环前应使用 b.ResetTimer()初始化计时器。小样本偏差:运行时间太短可能不准确,确保测试足够长。过度优化:追求微小提升而牺牲可读性。忽略实际场景:优化应基于真实用例,而非假设。
如何进行基准测试
在 Go 中,可以使用内置的 testing 包来编写基准测试,通过
go test -bench
运行。以下是一个简单示例:文件名 main_test.go
运行命令:
go test -bench=.
, 这是我的结果可以看到每次循环体的时间是
0.4225 ns
性能优化误区
b.ResetTimer()
初始化计时器。