如何基于python测量代码运行时间


Posted in Python onDecember 25, 2019

这篇文章主要介绍了如何基于python测量代码运行时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Python 社区有句俗语: “python自己带着电池” ,别自己写计时框架。 Python3.2具备一个叫做 timeit 的完美计时工具可以测量python代码的运行时间。

timeit 模块:

timeit 模块定义了接受两个参数的 Timer 类。两个参数都是字符串。 第一个参数是你要计时的语句或者函数。 传递给 Timer 的第二个参数是为第一个参数语句构建环境的导入语句。 从内部讲, timeit 构建起一个独立的虚拟环境, 手工地执行建立语句,然后手工地编译和执行被计时语句。

一旦有了 Timer 对象,最简单的事就是调用 timeit(),它接受一个参数为每个测试中调用被计时语句的次数,默认为一百万次;返回所耗费的秒数。

Timer 对象的另一个主要方法是 repeat(), 它接受两个可选参数。 第一个参数是重复整个测试的次数,第二个参数是每个测试中调用被计时语句的次数。 两个参数都是可选的,它们的默认值分别是 3 和 1000000。 repeat() 方法返回以秒记录的每个测试循环的耗时列表。Python 有一个方便的 min 函数可以把输入的列表返回成最小值,如:
min(t.repeat(3, 1000000))

你可以在命令行使用 timeit 模块来测试一个已存在的 Python 程序,而不需要修改代码。

具体可参见文档: http://docs.python.org/library/timeit.html

1、程序代码

def print_func_time(function):
'''
计算程序运行时间
:param function:
:return:
'''

@wraps(function)
def func_time(*args, **kwargs):
t0 = time.clock()
result = function(*args, **kwargs)
t1 = time.clock()
print("Total running time: %s s" % (str(t1 - t0)))
return result

return func_time

2、使用print_func_time

@print_func_time
def test():
print(123)
test()

3、控制台输出程序运行时间

123
Total running time: 2.233830763170168e-05 s

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python urlopen()函数 示例分享
Jun 12 Python
python打开url并按指定块读取网页内容的方法
Apr 29 Python
python中根据字符串调用函数的实现方法
Jun 12 Python
Flask 让jsonify返回的json串支持中文显示的方法
Mar 26 Python
在Python 中实现图片加框和加字的方法
Jan 26 Python
对Python之gzip文件读写的方法详解
Feb 08 Python
Python 实现文件打包、上传与校验的方法
Feb 13 Python
详解如何用python实现一个简单下载器的服务端和客户端
Oct 28 Python
python 实现二维列表转置
Dec 02 Python
浅谈pytorch池化maxpool2D注意事项
Feb 18 Python
Python 如何展开嵌套的序列
Aug 01 Python
python tqdm用法及实例详解
Jun 16 Python
python字典setdefault方法和get方法使用实例
Dec 25 #Python
Python 内置变量和函数的查看及说明介绍
Dec 25 #Python
python @propert装饰器使用方法原理解析
Dec 25 #Python
python 消除 futureWarning问题的解决
Dec 25 #Python
提升python处理速度原理及方法实例
Dec 25 #Python
python pip安装包出现:Failed building wheel for xxx错误的解决
Dec 25 #Python
将python包发布到PyPI和制作whl文件方式
Dec 25 #Python
You might like
php下目前为目最全的CURL中文说明
2010/08/01 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
php无限极分类递归排序实现方法
2014/11/11 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
PHP二维数组分页2种实现方法解析
2020/07/09 PHP
js获取对象为null的解决方法
2013/11/21 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
js实现交换运动效果的方法
2015/04/10 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
JS实现的另类手风琴效果网页内容切换代码
2015/09/08 Javascript
jQuery中的基本选择器用法学习教程
2016/04/14 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
微信小程序 input表单与redio及下拉列表的使用实例
2017/09/20 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
微信小程序实现炫酷的弹出式菜单特效
2019/01/28 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
[02:23]2014DOTA2国际邀请赛中国战队回顾
2014/08/01 DOTA
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
[00:48]食人魔魔法师至宝“金鹏之幸”全新模型和自定义特效展示
2019/12/19 DOTA
Python文件操作基本流程代码实例
2017/12/11 Python
Python实现时钟显示效果思路详解
2018/04/11 Python
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
Pycharm配置远程调试的方法步骤
2018/12/17 Python
用python实现英文字母和相应序数转换的方法
2019/09/18 Python
python3使用Pillow、tesseract-ocr与pytesseract模块的图片识别的方法
2020/02/26 Python
Python爬虫HTPP请求方法有哪些
2020/06/03 Python
Python操作PostgreSql数据库的方法(基本的增删改查)
2020/12/29 Python
纽约现代艺术博物馆商店:MoMA STORE(室内家具和杂货商品)
2016/08/02 全球购物
荷兰手表网站:Watch2Day
2018/07/02 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
Perfume’s Club澳大利亚官网:西班牙领先的在线美容店
2021/02/01 全球购物
英文自我鉴定
2013/12/10 职场文书
上课玩手机检讨书
2014/02/08 职场文书
竞选副班长演讲稿
2014/04/24 职场文书
大学社团活动总结
2014/04/26 职场文书
清明扫墓感想
2015/08/11 职场文书