gpt4 book ai didi

python - Python 中 Timeit 和 Time 的区别

转载 作者:太空狗 更新时间:2023-10-30 02:21:42 33 4
gpt4 key购买 nike

之间有什么显着区别吗:

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)

例如,我将使用 Project Euler 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

timeittime 之间的主要区别是什么?

最佳答案

timeit 将使用您系统上可用的最佳计时功能。请参阅 timeit.default_timer 上的文档.

此外,timeit turns off the garbage collector .

此外,我认为您使用的 timeit 有误。您应该根据最后一个 example 传递一个字符串在文档中:

print timeit("pE1test2()","from __main__ import PE1test2",number=1)

当然,另一个主要区别是 timeit 使得为数千次迭代(这是计时结果唯一有意义的唯一时间)的函数执行计时变得微不足道。这降低了单次运行比其他运行时间更长的重要性(例如,由于您的系统资源被其他程序占用)。

关于python - Python 中 Timeit 和 Time 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14650495/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com