python里it n_Python中Timeit和Time之间的差异

以下是否有任何显着差异:

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上的文档.

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值