Go Benchmark如何运作

时间:2014-10-06 10:42:28

标签: go

我的Go基准测试使用了我的API调用,但我不确定它的含义如下:

$ go test intapi -bench=. -benchmem -cover -v -cpuprofile=cpu.out
=== RUN TestAuthenticate
--- PASS: TestAuthenticate (0.00 seconds)
PASS
BenchmarkAuthenticate      20000            105010 ns/op            3199 B/op         49 allocs/op
coverage: 0.0% of statements
ok      intapi  4.349s

它如何知道应该拨打多少电话?我确实有一个循环b.N作为循环的大小但是Golang如何知道要运行多少?

另外我现在有cpu配置文件。我该如何使用它来查看它?

1 个答案:

答案 0 :(得分:1)

来自TFM:

  

基准函数必须运行目标代码b.N次。基准测试包将在b.N之间变化,直到基准函数持续足够长的时间以便可靠地计时。