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中使用scapy模拟数据包实现arp攻击、dns放大攻击例子
Oct 23 Python
玩转python爬虫之cookie使用方法
Feb 17 Python
Python数据拟合与广义线性回归算法学习
Dec 22 Python
Python遍历numpy数组的实例
Apr 04 Python
mac安装pytorch及系统的numpy更新方法
Jul 26 Python
Python pandas用法最全整理
Aug 04 Python
浅析python中while循环和for循环
Nov 19 Python
使用Python实现将多表分批次从数据库导出到Excel
May 15 Python
Python venv虚拟环境配置过程解析
Jul 08 Python
Python word文本自动化操作实现方法解析
Nov 05 Python
Django跨域请求原理及实现代码
Nov 14 Python
selenium+python实现基本自动化测试的示例代码
Jan 27 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
3种平台下安装php4经验点滴
2006/10/09 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
Codeigniter中mkdir创建目录遇到权限问题和解决方法
2014/07/25 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
Smarty环境配置与使用入门教程
2016/05/11 PHP
浅谈Laravel模板实体转义带来的坑
2019/10/22 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
JavaScript 学习笔记(九)call和apply方法
2010/01/11 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
javascript动态添加、修改、删除对象的属性与方法详解
2014/01/27 Javascript
JS实现从连接中获取youtube的key实例
2015/07/02 Javascript
JS组件Form表单验证神器BootstrapValidator
2016/01/26 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
基于BootStrap的图片轮播效果展示实例代码
2016/05/23 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
javascript 判断是否是微信浏览器的方法
2016/10/09 Javascript
解决iView中时间控件选择的时间总是少一天的问题
2018/03/15 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
2019/07/05 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
[51:28]EG vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/16 DOTA
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
瑰珀翠美国官网:Crabtree & Evelyn美国
2016/11/29 全球购物
澳大利亚在线批发商:Simply Wholesale
2021/02/24 全球购物
考试不及格检讨书
2014/01/09 职场文书
大学军训感言
2014/01/10 职场文书
教师年度考核评语
2014/04/28 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
办公用房租赁协议书
2014/11/29 职场文书
医院科室评语
2015/01/04 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
童年读书笔记
2015/06/26 职场文书
董事长新年致辞
2015/07/29 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
美国运营商 T-Mobile 以 117.83Mb/s 的速度排第一位
2022/04/21 数码科技