Python代码执行时间测量模块timeit用法解析


Posted in Python onJuly 01, 2020

1.timeit模块

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

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

  • Timer是测量小段代码执行速度的类
  • stmt参数是要测试的代码语句(statment);
  • setup参数是运行代码时需要的设置;
  • timer参数是一个定时器函数,与平台有关(windows,unix,linux,mac)。

timeit.timer(number = 10000)

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

2.使用timeit模块对python中list内置操作的时间复杂度测算

Python代码执行时间测量模块timeit用法解析
Python代码执行时间测量模块timeit用法解析

3.测算代码块:

#下面列出list的几种常用内置方法以及list的几种构建方法
	
#coding:utf-8
 
#导入timeit模块
 
import timeit
 
#t1,以+的方式构建列表
 
'''
	li1 = [1,2]
 
	li2 = [23,24]
 
	li = li1 + li2
 
	#t2,列表生成器
 
	li = [i for i in range(10000)]
 
	#t3,将可迭代对象(range)直接转换成列表
 
	li = list(range(10000))
 
	#t4,先创建一个空列表,然后用.append方法添加元素
 
	li = []
 
	for i in range(10000):
		li.append(i)
'''
#下面开始测算
 
#append方法对空列表添加元素构造列表
def t1():
	li = []
	for i in range(10000):
		li.append(i)
#+的方法构造列表
def t2():
	li = []
	for i in range(10000):
		li += [i]
#列表生成器
def t3():
	li = [i for i in range(10000)]
#转换可迭代对象为列表
def t4():
	li = list(range(10000))
 
timer1 = timeit.Timer('t1()','from __main__ import t1')
print('+:',timer1.timeit(1000))
 
timer2 = timeit.Timer('t2()','from __main__ import t2')
print('append:',timer2.timeit(1000))
 
timer3 = timeit.Timer('t3()','from __main__ import t3')
print('列表生成器:',timer3.timeit(1000))
 
timer4 = timeit.Timer('t4','from __main__ import t4')
print('直接转换可迭代对象:',timer4.timeit(1000))

4.运行结果

+: 0.7415732243125414
append: 0.7872105163322995
列表生成器: 0.3843147415048551
直接转换可迭代对象: 1.3879485965428984e-05
[Finished in 2.0s]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现端口转发器的方法
Mar 13 Python
Python实现带百分比的进度条
Jun 28 Python
Zabbix实现微信报警功能
Oct 09 Python
Python实现获取nginx服务器ip及流量统计信息功能示例
May 18 Python
使用python将请求的requests headers参数格式化方法
Jan 02 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
对Python3 序列解包详解
Feb 16 Python
python实现beta分布概率密度函数的方法
Jul 08 Python
使用python 将图片复制到系统剪贴中
Dec 13 Python
解决tensorflow 释放图,删除变量问题
Jun 23 Python
python中PyQuery库用法分享
Jan 15 Python
matplotlib绘制正余弦曲线图的实现
Feb 22 Python
Python 存取npy格式数据实例
Jul 01 #Python
基于python实现音乐播放器代码实例
Jul 01 #Python
使用ITK-SNAP进行抠图操作并保存mask的实例
Jul 01 #Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 #Python
.img/.hdr格式转.nii格式的操作
Jul 01 #Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 #Python
Python环境管理virtualenv&amp;virtualenvwrapper的配置详解
Jul 01 #Python
You might like
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
Laravel+Intervention实现上传图片功能示例
2019/07/09 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
js正文内容高亮效果的实现方法
2013/06/30 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
JS创建自定义表格具体实现
2014/02/11 Javascript
jQuery实现可高亮显示的二级CSS菜单效果
2015/09/01 Javascript
详解JavaScript语言的基本语法要求
2015/11/20 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
jquery仿苹果的时间/日期选择效果
2017/03/08 Javascript
Vuex之理解Getters的用法实例
2017/04/19 Javascript
关于vue-router路径计算问题
2017/05/10 Javascript
浅谈angular4 ng-content 中隐藏的内容
2017/08/18 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
详解NodeJS Https HSM双向认证实现
2019/03/12 NodeJs
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
layui插件表单验证提交触发提交的例子
2019/09/09 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
antd Select下拉菜单动态添加option里的内容操作
2020/11/02 Javascript
python中urllib模块用法实例详解
2014/11/19 Python
利用Python实现网络测试的脚本分享
2017/05/26 Python
CentOS下使用yum安装python-pip失败的完美解决方法
2017/08/16 Python
使用requests库制作Python爬虫
2018/03/25 Python
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
Python网页正文转换语音文件的操作方法
2018/12/09 Python
基于python SMTP实现自动发送邮件教程解析
2020/06/02 Python
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
Conforama西班牙:您的家具、装饰和电器商店
2020/02/21 全球购物
电气工程和自动化自荐信范文
2013/12/25 职场文书
抄作业检讨书
2014/02/17 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
交心谈心活动总结
2015/05/11 职场文书
办公室管理规章制度
2015/08/04 职场文书
干货:如何写好工作总结报告!
2019/05/10 职场文书