博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python内置性能分析模块timeit
阅读量:5959 次
发布时间:2019-06-19

本文共 1634 字,大约阅读时间需要 5 分钟。

timeit模块

timeit模块可以用来测试一小段Python代码的执行速度。

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

Timer是测量小段代码执行速度的类。

stmt参数是要测试的代码语句(statement);

setup参数是运行代码时需要的设置;

timer参数是一个定时器函数,与平台有关。

timeit.Timer.timeit(number=1000000)

Timer类中测试语句执行速度的对象方法。number参数是测试代码时的测试次数,默认为1000000次。方法返回执行代码的耗时,一个float类型的秒数。

举例

 

from timeit import Timer# 直接代码timer = Timer('print("a",end=",")')print(timer.timeit())  # 默认100万次timer = Timer('print(b,end=",")', 'b=2')print(timer.timeit(number=5))  # 2,2,2,2,2,1.9295682939906674e-05# 方法def t():    print("t",end=",")timer = Timer('t()', 'from __main__ import t')print(timer.timeit(number=5)) #t,t,t,t,t,1.68324042667271e-05# 比较列表几种添加元素的方法 + append insert 列表推导式 list()方法def t1():    li = []    for i in range(1000):        li = li + [i]def t2():    li = []    for i in range(10000):        li.append(i)def t3():    li = []    for i in range(10000):        li.insert(0, i)def t4():    li = [i for i in range(1000)]def t5():    li = list(range(10000))timer = Timer('t1()', 'from __main__ import t1')print("+", timer.timeit(number=1000))timer2 = Timer('t2()', 'from __main__ import t2')print("append", timer2.timeit(number=1000))timer3 = Timer('t3()', 'from __main__ import t3')print("insert", timer3.timeit(number=1000))timer4 = Timer('t4()', 'from __main__ import t4')print("i for i in range", timer4.timeit(number=1000))timer5 = Timer('t5()', 'from __main__ import t5')print("list(range(10000)", timer5.timeit(number=1000))# + 1.7064962406261983# append 1.0096170504865387# insert 24.474472632563394# i for i in range 0.03823213773997125# list(range(10000) 0.2569790843007844# 列表推导式真是快,insert真是慢

 

 

 

 

转载地址:http://fquax.baihongyu.com/

你可能感兴趣的文章
深入理解Java的接口和抽象类
查看>>
Javascript异步数据的同步处理方法
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>
JFreeChart开发_用JFreeChart增强JSP报表的用户体验
查看>>
度量时间差
查看>>
通过jsp请求Servlet来操作HBASE
查看>>
Shell编程基础
查看>>
Shell之Sed常用用法
查看>>
3.1
查看>>
校验表单如何摆脱 if else ?
查看>>
<气场>读书笔记
查看>>
Centos下基于Hadoop安装Spark(分布式)
查看>>
3D地图的定时高亮和点击事件(基于echarts)
查看>>
mysql开启binlog
查看>>
设置Eclipse编码方式
查看>>
分布式系统唯一ID生成方案汇总【转】
查看>>
并查集hdu1232
查看>>