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 11 Python
Python中super函数的用法
Nov 17 Python
python实现两个文件合并功能
Apr 01 Python
一百多行python代码实现抢票助手
Sep 25 Python
Python通过paramiko远程下载Linux服务器上的文件实例
Dec 27 Python
django数据关系一对多、多对多模型、自关联的建立
Jul 24 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
Aug 12 Python
关于Python3 lambda函数的深入浅出
Nov 27 Python
关于numpy数组轴的使用详解
Dec 05 Python
Expected conditions模块使用方法汇总代码解析
Aug 13 Python
Python绘制K线图之可视化神器pyecharts的使用
Mar 02 Python
详解Python自动化之文件自动化处理
Jun 21 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
php 信息采集程序代码
2009/03/17 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
2016/10/08 PHP
php mysql实现mysql_select_db选择数据库
2016/12/30 PHP
php通过header发送自定义数据方法
2018/01/18 PHP
js模仿jquery的写法示例代码
2013/06/16 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
jquery实现公告翻滚效果
2015/02/27 Javascript
WEB 前端开发中防治重复提交的实现方法
2016/10/26 Javascript
jQuery设计思想
2017/03/07 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
2017/04/25 Javascript
基于滚动条位置判断的简单实例
2017/12/14 Javascript
vuex 的简单使用
2018/03/22 Javascript
node和vue实现商城用户地址模块
2018/12/05 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
vue下载excel的实现代码后台用post方法
2019/05/10 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
vue实现滑动超出指定距离回顶部功能
2019/07/31 Javascript
vue设置全局访问接口API地址操作
2020/08/14 Javascript
Vue $attrs & inheritAttr实现button禁用效果案例
2020/12/07 Vue.js
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
Python使用Turtle模块绘制五星红旗代码示例
2017/12/11 Python
Python学习笔记之pandas索引列、过滤、分组、求和功能示例
2019/06/03 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
python实现滑雪者小游戏
2020/02/22 Python
Python Tkinter图形工具使用方法及实例解析
2020/06/15 Python
澳大利亚家具和家居用品在线商店:Interiors Online
2018/03/05 全球购物
仓库班组长岗位职责
2013/12/12 职场文书
户外用品商店创业计划书
2014/01/29 职场文书
会计助理岗位职责
2014/02/17 职场文书
运动会演讲稿100字
2014/08/25 职场文书
仰望星空观后感
2015/06/10 职场文书