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中使用百度音乐搜索的api下载指定歌曲的lrc歌词
Jul 18 Python
Django框架中处理URLconf中特定的URL的方法
Jul 20 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
Jan 24 Python
pandas 透视表中文字段排序方法
Nov 16 Python
Python List cmp()知识点总结
Feb 18 Python
python实现大文本文件分割
Jul 22 Python
python读取指定字节长度的文本方法
Aug 27 Python
python基于gevent实现并发下载器代码实例
Nov 01 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
Jun 10 Python
python中什么是面向对象
Jun 11 Python
为什么说python适合写爬虫
Jun 11 Python
python实现自动打卡的示例代码
Oct 10 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
星际原理概述
2020/03/04 星际争霸
PHP Token(令牌)设计
2008/03/15 PHP
php SQL防注入代码集合
2008/04/25 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
Yii2表单事件之Ajax提交实现方法
2017/05/04 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
PHP如何通过date() 函数格式化显示时间
2020/11/13 PHP
JavaScript与DropDownList 区别分析
2010/01/01 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
javascript实现五星评价代码(源码下载)
2015/08/11 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
jQuery简单验证上传文件大小及类型的方法
2016/06/02 Javascript
Node.js对MongoDB数据库实现模糊查询的方法
2017/05/03 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
2018/09/12 Javascript
Element Input组件分析小结
2018/10/11 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
2019/01/18 Javascript
js 使用ajax设置和获取自定义header信息的方法小结
2020/03/12 Javascript
使用webpack5从0到1搭建一个react项目的实现步骤
2020/12/16 Javascript
python求crc32值的方法
2014/10/05 Python
Python 查找字符在字符串中的位置实例
2018/05/02 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
浅谈Pytorch中的torch.gather函数的含义
2019/08/18 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
利用CSS3的checked伪类实现OL的隐藏显示的方法
2010/12/18 HTML / CSS
英文版网络工程师求职信
2013/10/28 职场文书
技校毕业生自荐书
2014/05/23 职场文书
消防宣传口号
2014/06/16 职场文书
离婚协议书的书写要求
2014/09/17 职场文书
普通党员个人对照检查材料
2014/09/18 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
骨干教师申报材料
2014/12/17 职场文书
python geopandas读取、创建shapefile文件的方法
2021/06/29 Python