我想计算一下我的计算机可以counter += 1在一秒钟内完成的次数.一种天真的方法如下:
from time import time
counter = 0
startTime = time()
while time() - startTime < 1:
counter += 1
print counter
Run Code Online (Sandbox Code Playgroud)
问题time() - startTime < 1可能比这要贵得多counter += 1.
有没有办法制作一个不太"干净"的1秒算法样本?
时间算法的常用方法是另一种方法:使用固定数量的迭代并测量完成它们所需的时间.进行此类计时的最佳方法是timeit模块.
print timeit.timeit("counter += 1", "counter = 0", number=100000000)
Run Code Online (Sandbox Code Playgroud)
但请注意,时间counter += 1似乎毫无意义.你想达到什么目的?