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迭代器和生成器介绍
Mar 06 Python
python使用paramiko实现远程拷贝文件的方法
Apr 18 Python
Python制作Windows系统服务
Mar 25 Python
在python中pandas读文件,有中文字符的方法
Dec 12 Python
Python 面向对象静态方法、类方法、属性方法知识点小结
Mar 09 Python
matplotlib.pyplot.matshow 矩阵可视化实例
Jun 16 Python
python如何将图片转换素描画
Sep 08 Python
python3代码中实现加法重载的实例
Dec 03 Python
python实现双人五子棋(终端版)
Dec 30 Python
pytest配置文件pytest.ini的详细使用
Apr 17 Python
粗暴解决CUDA out of memory的问题
May 22 Python
pytorch实现加载保存查看checkpoint文件
Jul 15 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
Symfony学习十分钟入门经典教程
2016/02/03 PHP
PHP 断点续传实例详解
2017/11/11 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
jquery.blockUI.js上传滚动等待效果实现思路及代码
2013/03/18 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
微信小程序实现slideUp、slideDown滑动效果及点击空白隐藏功能示例
2018/12/11 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
vue 父组件给子组件传值子组件给父组件传值的实例代码
2019/04/15 Javascript
countUp.js实现数字动态变化效果
2019/10/17 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
微信小程序如何实现精确的日期时间选择器
2020/01/21 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
Python的垃圾回收机制深入分析
2014/07/16 Python
介绍Python中几个常用的类方法
2015/04/08 Python
Python异常对代码运行性能的影响实例解析
2018/02/08 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
Python根据已知邻接矩阵绘制无向图操作示例
2018/06/23 Python
Python代码块批量添加Tab缩进的方法
2018/06/25 Python
Python中 map()函数的用法详解
2018/07/10 Python
Python Pillow Image Invert
2019/01/22 Python
django数据库自动重连的方法实例
2019/07/21 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
python装饰器的特性原理详解
2019/12/25 Python
Python字典fromkeys()方法使用代码实例
2020/07/20 Python
jupyter使用自动补全和切换默认浏览器的方法
2020/11/18 Python
纯CSS实现菜单、导航栏的3D翻转动画效果
2014/04/23 HTML / CSS
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
莫斯科的韩国化妆品店:Sifo
2019/12/04 全球购物
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
教师节老师寄语
2015/05/28 职场文书
MySQL系列之七 MySQL存储引擎
2021/07/02 MySQL
python读取mnist数据集方法案例详解
2021/09/04 Python