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实现的登陆Discuz!论坛通用代码分享
Jul 11 Python
在Django的URLconf中使用多个视图前缀的方法
Jul 18 Python
详谈Python高阶函数与函数装饰器(推荐)
Sep 30 Python
Python3.6 Schedule模块定时任务(实例讲解)
Nov 09 Python
python实现数据写入excel表格
Mar 25 Python
python 两个数据库postgresql对比
Oct 21 Python
详解在python操作数据库中游标的使用方法
Nov 12 Python
使用python绘制二维图形示例
Nov 22 Python
python文件绝对路径写法介绍(windows)
Dec 25 Python
python如何将两张图片生成为全景图片
Mar 05 Python
Python使用pdb调试代码的技巧
May 03 Python
Django自带的用户验证系统实现
Dec 18 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/10/07 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
php compact 通过变量创建数组
2016/11/15 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
拖动一个HTML元素
2006/12/22 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
js null,undefined,字符串小结
2010/08/21 Javascript
Jquery下:nth-child(an+b)的使用注意
2011/05/28 Javascript
jquery foreach使用示例
2013/09/12 Javascript
容易造成JavaScript内存泄露几个方面
2014/09/04 Javascript
js构造函数、索引数组和属性的实现方式和使用
2014/11/16 Javascript
使用AngularJS来实现HTML页面嵌套的方法
2015/06/17 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
jQuery联动日历的实例解析
2016/12/02 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
js实现右键弹出自定义菜单
2020/09/08 Javascript
[03:22]DSPL第一期精彩集锦:酷炫到底!
2014/11/07 DOTA
python多线程编程方式分析示例详解
2013/12/06 Python
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python解惑之整数比较详解
2017/04/24 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
解决Django部署设置Debug=False时xadmin后台管理系统样式丢失
2020/04/07 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
先进事迹报告会主持词
2014/04/02 职场文书
个人自查自纠材料
2014/10/14 职场文书
学院党的群众路线教育实践活动第一阶段情况汇报
2014/10/25 职场文书
小学教师工作总结2015
2015/04/07 职场文书
2015年人力资源部工作总结
2015/04/30 职场文书
高中信息技术教学反思
2016/02/16 职场文书
新手初学Java List 接口
2021/07/07 Java/Android
Redis 异步机制
2022/05/15 Redis