我真的很感兴趣花了多少时间来做这个动作。有人有什么好主意吗?或任何图书馆。我用简单的方式做了,但似乎是错误的方式。因为我确实在go
我有那段代码:
package main
import (
"fmt"
"time"
)
func main() {
var d int = 0
var beginTime = time.Now()
for i := 0; i < 100000; i++ {
for c := 0; c < 100; c++ {
d = 1
}
}
var endTime = time.Now()
fmt.Println(beginTime, endTime)
fmt.Println(time.Since(beginTime))
fmt.Println(d)
}
答案 0 :(得分:1)
示例基准测试函数如下所示:
func BenchmarkHello(b *testing.B) { for i := 0; i < b.N; i++ { fmt.Sprintf("hello") } }
基准函数必须运行目标代码b.N次。在benchark执行期间,b.N被调整,直到基准函数持续足够长的时间以便可靠地计时。输出
BenchmarkHello 10000000 282 ns/op
表示循环以每循环282 ns的速度运行10000000次。
编辑:如果你想测量在运行时做某事的时间,而不是在你的测试中,你的方式看起来很好。