python中的计时器timeit的使用方法


Posted in Python onOctober 20, 2017

本文介绍了python中的计时器timeit的使用方法,分享给大家,具体如下:

timeit

通常在一段程序的前后都用上time.time(),然后进行相减就可以得到一段程序的运行时间,不过python提供了更强大的计时库:timeit

#导入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)

测试一个函数的执行时间:

from timeit import timeit

def func():
  s = 0
  for i in range(1000):
    s += i
  print(s)

# timeit(函数名_字符串,运行环境_字符串,number=运行次数)
t = timeit('func()', 'from __main__ import func', number=1000)
print(t)

此程序测试函数运行1000次的执行时间

repeat:

由于电脑永远都有其他程序也在占用着资源,你的程序不可能最高效的执行。所以一般都会进行多次试验,取最少的执行时间为真正的执行时间。

from timeit import repeat

def func():
  s = 0
  for i in range(1000):
    s += i

#repeat和timeit用法相似,多了一个repeat参数,表示重复测试的次数(可以不写,默认值为3.),返回值为一个时间的列表。
t = repeat('func()', 'from __main__ import func', number=100, repeat=5)
print(t) 
print(min(t))

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

Python 相关文章推荐
Python实现根据指定端口探测服务器/模块部署的方法
Aug 25 Python
Python实现把数字转换成中文
Jun 29 Python
Python设置默认编码为utf8的方法
Jul 01 Python
python简单线程和协程学习心得(分享)
Jun 14 Python
Python中最大递归深度值的探讨
Mar 05 Python
如何使用Python进行OCR识别图片中的文字
Apr 01 Python
python找出因数与质因数的方法
Jul 25 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
Aug 12 Python
tensorflow mnist 数据加载实现并画图效果
Feb 05 Python
python 元组的使用方法
Jun 09 Python
Python txt文件常用读写操作代码实例
Aug 03 Python
如何使用pdb进行Python调试
Jun 30 Python
浅谈Python peewee 使用经验
Oct 20 #Python
Python 获得13位unix时间戳的方法
Oct 20 #Python
python使用 HTMLTestRunner.py生成测试报告
Oct 20 #Python
Python WXPY实现微信监控报警功能的代码
Oct 20 #Python
python爬虫 正则表达式使用技巧及爬取个人博客的实例讲解
Oct 20 #Python
放弃 Python 转向 Go语言有人给出了 9 大理由
Oct 20 #Python
python虚拟环境的安装配置图文教程
Oct 20 #Python
You might like
phpExcel导出大量数据出现内存溢出错误的解决方法
2013/02/28 PHP
PHP使用DirectoryIterator显示下拉文件列表的方法
2015/03/13 PHP
PHP的swoole扩展安装方法详细教程
2016/05/18 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
Yii2处理密码加密及验证的方法
2019/05/12 PHP
如何制作浮动广告 JavaScript制作浮动广告代码
2012/12/30 Javascript
js动态拼接正则表达式的两种方法
2014/03/04 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
JavaScript内存管理介绍
2015/03/13 Javascript
使用HTML+CSS+JS制作简单的网页菜单界面
2015/07/27 Javascript
ajax级联菜单实现方法实例分析
2016/11/28 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
Angular.js中控制器之间的传值详解
2017/04/24 Javascript
NodeJS自定义模块写法(详解)
2017/06/27 NodeJs
vue2中的keep-alive使用总结及注意事项
2017/12/21 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
webstorm添加*.vue文件支持
2018/05/08 Javascript
elementUI Vue 单个按钮显示和隐藏的变换功能(两种方法)
2018/09/04 Javascript
JavaScript偏函数与柯里化实例详解
2019/03/27 Javascript
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[01:48]完美圣典齐天大圣至宝宣传片
2016/12/17 DOTA
python计算对角线有理函数插值的方法
2015/05/07 Python
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
Python 实现删除某路径下文件及文件夹的实例讲解
2018/04/24 Python
Python实现处理逆波兰表达式示例
2018/07/30 Python
简单了解python反射机制的一些知识
2019/07/13 Python
Python实现常见的几种加密算法(MD5,SHA-1,HMAC,DES/AES,RSA和ECC)
2020/05/09 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
Python读写Excel表格的方法
2021/03/02 Python
Baracuta官方网站:Harrington夹克,G9,G4,G10等
2018/03/06 全球购物
英国外籍人士的在线超市:British Corner Shop
2019/06/03 全球购物
实习期自我鉴定
2013/10/11 职场文书
2014年教师党员公开承诺书
2014/05/28 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
python glom模块的使用简介
2021/04/13 Python