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之eval()函数危险性浅析
Jul 03 Python
Python-基础-入门 简介
Aug 09 Python
零基础写python爬虫之抓取百度贴吧代码分享
Nov 06 Python
Python中的元类编程入门指引
Apr 15 Python
使用Python发送各种形式的邮件的方法汇总
Nov 09 Python
Python中二维列表如何获取子区域元素的组成
Jan 19 Python
python 日期操作类代码
May 05 Python
Flask Web开发入门之文件上传(八)
Aug 17 Python
Python中的单下划线和双下划线使用场景详解
Sep 09 Python
django中瀑布流写法实例代码
Oct 14 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
Nov 15 Python
python爬虫多次请求超时的几种重试方法(6种)
Dec 01 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数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
php不使用插件导出excel的简单方法
2014/03/04 PHP
php环境套包 dedeampz 伪静态设置示例
2014/03/26 PHP
PHP对文件进行加锁、解锁实例
2015/01/23 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
延时重复执行函数 lLoopRun.js
2007/05/08 Javascript
javascript 获取所有id中包含某关键字的控件的实现代码
2010/11/25 Javascript
js的正则test,match,exec详细解析
2014/01/29 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
JavaScript操作cookie类实例
2015/03/31 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
利用jquery如何从json中读取数据追加到html中
2017/12/01 jQuery
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
对vue.js中this.$emit的深入理解
2018/02/23 Javascript
微信小程序 slot踩坑的解决
2019/04/01 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
vue实现登录拦截
2020/06/29 Javascript
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
浅析Python编写函数装饰器
2016/03/18 Python
python3实现表白神器
2019/04/09 Python
Django框架文件上传与自定义图片上传路径、上传文件名操作分析
2019/05/10 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
Python对象的属性访问过程详解
2020/03/05 Python
HTML5 video进入全屏和退出全屏的实现方法
2020/07/28 HTML / CSS
全球最大的服务市场:Fiverr
2017/01/03 全球购物
连卡佛中国官网:Lane Crawford中文站
2018/01/27 全球购物
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
大学生社会实践自我鉴定
2014/03/24 职场文书
承诺书格式范文
2014/06/03 职场文书
经济类毕业生求职信
2014/06/26 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
2016优秀大学生个人事迹材料范文
2016/03/01 职场文书
浅谈sql_@SelectProvider及使用注意说明
2021/08/04 Java/Android
win10搭建配置ftp服务器的方法
2022/08/05 Servers