我正在玩 Go 中的基准测试,我有一个简单的函数,它只休眠 5 纳秒,但是当我运行基准测试时,它显示298.1 ns/op. 我很好奇为什么会这样。不应该5 ns/op吗?
去版本:
go version go1.19 linux/amd64
代码:
package andrei
import (
"testing"
"time"
)
func Hi() {
time.Sleep(5 * time.Nanosecond)
}
func BenchmarkHi(b *testing.B) {
for i := 0; i < b.N; i++ {
Hi()
}
}
结果:
$ go test -run none -bench . -benchmem ./andrei
goos: linux
goarch: amd64
pkg: andrei/andrei
cpu: 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
BenchmarkHi-8 3861392 298.1 ns/op 0 B/op 0 allocs/op
PASS
ok andrei/andrei 1.470s
呼啦一阵风
慕盖茨4494581
相关分类