python timeit 计算函数运行时间

原文链接: python timeit 计算函数运行时间

上一篇: js this

下一篇: itchat 微信自动回复成绩

使用timeit模块

测试一段代码的运行时间,在python里面有个很简单的方法,就是使用timeit模块,使用起来超级方便

下面简单介绍一个timeit模块中的函数

主要就是这两个函数:

1,    timeit(stmt='pass', setup='pass', timer=<defaulttimer>, number=1000000)

返回:

返回执行stmt这段代码number遍所用的时间,单位为秒,float型

参数:

stmt:要执行的那段代码

setup:执行代码的准备工作,不计入时间,一般是import之类的

timer:这个在win32下是time.clock(),linux下是time.time(),默认的,不用管

number:要执行stmt多少遍

2,    repeat(stmt='pass', setup='pass', timer=<defaulttimer>, repeat=3, number=1000000)

这个函数比timeit函数多了一个repeat参数而已,表示重复执行timeit这个过程多少遍,返回一个列表,表示执行每遍的时间

当然,为了方便,python还用了一个 Timer 类,Timer类里面的函数跟上面介绍的两个函数是一样一样的

class timeit.Timer(stmt='pass', setup='pass',timer=<timer function>)

Timer.timeit(number=1000000)

Timer.repeat(repeat=3,number=1000000)

看懂了吧,一样的,使用的时候哪种方便用哪种 O(∩_∩)O

就相当于

timeit(stmt='pass', setup='pass', timer=<defaulttimer>, number=1000000)

= Timer(stmt='pass', setup='pass', timer=<timerfunction>).timeit(number=1000000)

repeat(stmt='pass', setup='pass', timer=<defaulttimer>, repeat=3, number=1000000)

= Timer(stmt='pass', setup='pass', timer=<timerfunction>).repeat(repeat=3, number=1000000)

import timeit


def f1(n=10):
    for i in range(n):
        print(i)


t = timeit.timeit(f1, number=4)
print(t)

# 设置需要运行的代码块,必须引入相应的包
t = timeit.Timer('f1(15)', setup='from __main__ import f1')
# 输出执行代码块需要多少的时间
print(t.timeit(number=3))
#导入timeit.timeit
from timeit import timeit  

#看执行1000000次x=1的时间:
timeit('x=1')

#看x=1的执行时间,执行1次(number可以省略,默认值为1000000):
timeit('x=1', number=1)

#看一个列表生成器的执行时间,执行1次:
timeit('[i for i in range(10000)]', number=1)

#看一个列表生成器的执行时间,执行10000次:
timeit('[i for i in range(100) if i%2==0]', number=10000)

使用time模块和装饰器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值