我想计算我的电脑能做多少次counter += 1在一秒钟内。一个天真的方法如下:
from time import time
counter = 0
startTime = time()
while time() - startTime < 1:
counter += 1
print counter
问题是time() - startTime < 1可能比 counter += 1 贵得多.
有没有办法为我的算法制作一个不太“干净”的 1 秒样本?
请您参考如下方法:
通常的算法计时方法是相反的:使用固定次数的迭代并测量完成它们需要多长时间。执行此类计时的最佳方法是 timeit模块。
print timeit.timeit("counter += 1", "counter = 0", number=100000000)
请注意,计时 counter += 1 似乎毫无意义。你想达到什么目的?
