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文件夹与文件的操作实现代码
Jul 13 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
Mar 10 Python
Python复数属性和方法运算操作示例
Jul 21 Python
Python装饰器用法实例总结
Feb 07 Python
Python numpy实现二维数组和一维数组拼接的方法
Jun 05 Python
pygame游戏之旅 按钮上添加文字的方法
Nov 21 Python
python交互界面的退出方法
Feb 16 Python
Python字符串对象实现原理详解
Jul 01 Python
Python生成器传参数及返回值原理解析
Jul 22 Python
浅析python函数式编程
Sep 26 Python
深度学习小工程练习之垃圾分类详解
Apr 14 Python
Python列表删除重复元素与图像相似度判断及删除实例代码
May 07 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
需要注意的几个PHP漏洞小结
2012/02/05 PHP
php生成图片验证码的实例讲解
2015/08/03 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
2015/12/28 PHP
优秀js开源框架-jQuery使用手册(1)
2007/03/10 Javascript
javascript 学习之旅 (2)
2009/02/05 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
2011/04/26 Javascript
js控制的遮罩层实例介绍
2013/05/29 Javascript
JAVASCRIPT代码编写俄罗斯方块网页版
2015/11/26 Javascript
jQuery中checkbox反复调用attr('checked', true/false)只有第一次生效的解决方法
2016/11/16 Javascript
基于slideout.js实现移动端侧边栏滑动特效
2016/11/28 Javascript
jQuery焦点图轮播效果实现方法
2016/12/19 Javascript
基于angular2 的 http服务封装的实例代码
2017/06/29 Javascript
一步一步的了解webpack4的splitChunk插件(小结)
2018/09/17 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
探究Python的Tornado框架对子域名和泛域名的支持
2015/05/02 Python
教大家使用Python SqlAlchemy
2016/02/12 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
python操作xlsx文件的包openpyxl实例
2018/05/03 Python
在python中只选取列表中某一纵列的方法
2018/11/28 Python
python 判断文件还是文件夹的简单实例
2019/06/10 Python
Python用input输入列表的实例代码
2020/02/07 Python
如何在Canvas上的图形/图像绑定事件监听的实现
2020/09/16 HTML / CSS
Hotels.com南非:酒店预订
2017/11/02 全球购物
如何写出高性能的JSP和Servlet
2013/01/22 面试题
金融专业个人求职信
2013/09/22 职场文书
优秀部门获奖感言
2014/02/14 职场文书
行政人事岗位职责
2014/03/17 职场文书
施工单位安全责任书
2014/07/24 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
协议书范文
2015/01/27 职场文书
综合测评个人总结
2015/03/03 职场文书
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
利用Pycharm连接服务器的全过程记录
2021/07/01 Python