以下两种方式之间是否有明显区别:
from time import time
start = time()
# some process
print time() - start
并且:
from timeit import timeit
def my_funct():
# some process
print timeit(my_funct, number=1)
例如,我将使用欧拉计划1题作为示例(因为它非常容易理解/解决)。
def pE1test1(): # using time()
from time import time
start = time()
print sum([n for n in range(1, 1000) if n%3==0 or n%5==0])
print time() - start
def pE1test2(): # using timeit
print sum([n for n in range(1, 1000) if n%3==0 or n%5==0])
from timeit import timeit
pE1test1()
print timeit(pE1test2, number=1)
这将输出:
>>>
233168
0.0090000629425
233168
0.00513921300363
< p > timeit 和 time 之间的主要区别是什么?< /p >
number=1
。较高的数字通常会提供更好的结果,因为它们会分摊运行时差异性(上下文切换,非相关进程占用资源,C级别发生的奇怪事情,某个库命中必须复制大量数组的操作等)。 - user395760timeit
和time
之间的区别。 - mgilson