加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python中Timeit和Time之间的差异

发布时间:2020-12-20 11:25:20 所属栏目:Python 来源:网络整理
导读:以下是否有任何显着差异: from time import timestart = time()# some processprint time() - start 和: from timeit import timeitdef my_funct(): # some processprint timeit(my_funct,number=1) 举个例子,我将使用Project Euler 1(因为它很容易理解/解
以下是否有任何显着差异:

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

时间和时间之间的主要区别是什么?

解决方法

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

此外,时间turns off the garbage collector.

另外,我相信你使用的时间错了.您应该按照文档中的最后一个example传递一个字符串:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读