【发布时间】:2019-11-27 16:32:17
【问题描述】:
我的代码:
// repeat fib(n) 10000 times
i := 10000
var total_time time.Duration
for i > 0 {
// do fib(n) -> f0
start := time.Now()
for n > 0 {
f0, f1, n = f1, f0.Add(f0, f1), n-1
}
total_time = total_time + time.Since(start)
i--
}
// and divide total execution time by 10000
var normalized_time = total_time / 10000
fmt.Println(normalized_time)
我看到的执行时间非常短,以至于我怀疑我所做的没有用。如果错了,我做错了什么,我该如何改正?
【问题讨论】:
-
n初始化为什么? -
用户从控制台输入的整数。
-
好吧,这不是进行基准测试的理想方式。阅读上面链接的博客以了解正确的方法。
-
使用
testing包中内置的基准测试系统进行基准测试。