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 相关文章推荐
wxPython窗口的继承机制实例分析
Sep 28 Python
Python3处理文件中每个词的方法
May 22 Python
在Django框架中编写Contact表单的教程
Jul 17 Python
Python中正则表达式详解
May 17 Python
python使用RNN实现文本分类
May 24 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 Python
CentOS6.9 Python环境配置(python2.7、pip、virtualenv)
May 06 Python
基于python分析你的上网行为 看看你平时上网都在干嘛
Aug 13 Python
基于Python实现船舶的MMSI的获取(推荐)
Oct 21 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 Python
如何使用python写截屏小工具
Sep 29 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中通过语义URL防止网站被攻击的方法分享
2011/09/08 PHP
PHP的curl实现get,post和cookie(实例介绍)
2013/06/17 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
Yii2.0建立公共方法简单示例
2019/01/29 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
2019/11/23 PHP
PHP实现单例模式建立数据库连接的方法分析
2020/02/11 PHP
javascript笔试题目附答案@20081025_jb51.net
2008/10/26 Javascript
JavaScript 继承的实现
2009/07/09 Javascript
解析dom中的children对象数组元素firstChild,lastChild的使用
2013/07/10 Javascript
jquery遍历checkbox介绍
2014/02/21 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
jquery实现多次上传同一张图片
2017/01/09 Javascript
AngularJS表格添加序号的方法
2017/03/03 Javascript
微信小程序删除处理详解
2017/08/16 Javascript
JavaScript实现鼠标经过表格某行时此行变色
2020/11/20 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
[05:09]2016国际邀请赛中国区预选赛淘汰赛首日精彩回顾
2016/06/29 DOTA
[08:56]DOTA2-DPC中国联赛2月23日Recap集锦
2021/03/11 DOTA
python中找出numpy array数组的最值及其索引方法
2018/04/17 Python
python实现守护进程、守护线程、守护非守护并行
2018/05/05 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
Python多叉树的构造及取出节点数据(treelib)的方法
2019/08/09 Python
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
马来西亚奢侈品牌购物商城:Valiram 247
2020/09/29 全球购物
swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上
2013/07/06 面试题
数据管理员的自我评价分享
2013/11/15 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
2014年教师个人工作总结
2014/11/10 职场文书
教师自荐信范文
2015/03/06 职场文书
幼儿园迎新生欢迎词
2015/09/30 职场文书
MySQL 如何设计统计数据表
2021/06/15 MySQL
mysql分表之后如何平滑上线详解
2021/11/01 MySQL
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle