python测量代码运行时间方法

摘要:
Python社区有一句话:“Python自带电池”。不要编写自己的计时框架。Python 3.2有一个完美的计时工具timeit,可以测量Python代码的运行时间。一旦有了Timer对象,最简单的方法就是调用timeit(),它接受一个参数,表示每次测试中调用timed语句的次数,默认值为一百万次;返回经过的秒数。Python有一个方便的min函数,可以将输入列表返回到最小值。例如,min您可以使用命令行上的timeit模块来测试现有的Python程序,而无需修改代码。

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

python测量代码运行时间方法第1张

timeit 模块:

timeit 模块定义了接受两个参数的 Timer 类。两个参数都是字符串。 第一个参数是你要计时的语句或者函数。 传递给 Timer 的第二个参数是为第一个参数语句构建环境的导入语句。 从内部讲, timeit 构建起一个独立的虚拟环境, 手工地执行建立语句,然后手工地编译和执行被计时语句。如果你也刚学python/不久,比较迷茫,建议可以去小编的Python交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦!
一旦有了 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交流.裙 :一久武其而而流一思(数字的谐音)转换下可以找到了,里面有最新Python教程项目可拿,不懂的问题多跟里面的人交流,都会解决哦!
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

免责声明:文章转载自《python测量代码运行时间方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇C++ STL hash表用法HBuilder wap2app提示版本过旧下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

python学习笔记-Pycharm远程连接服务器的Python虚拟环境(Virtualenv)

Virtualenv可以作为一个独立的Python虚拟环境工具,并能够建立多个相互独立,互不影响的Python工作环境。 主要解决在运行多个项目时,由于它们对应的运行环境需求不同,可能会导致项目无法正常运行的问题。 服务器设置内容: 安装Virtualenv命令: pip install virtualenv 给自己的项目创建python虚拟环境: vi...

python向多个邮箱发邮件--注意接收是垃圾邮件

群发邮件注意:三处标红的地方 # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.header import Header from e...

python 连接oracle -- sqlalchemy及cx_Oracle的使用详解

python连接oracle -- sqlalchemy import cx_Oracle as orcl import pandas as pd from sqlalchemy import create_engine # 数据库连接 db = create_engine('oracle://qmcb:qmcb@localhost:1521/tqmcb...

采用文件方式安装Python第三方库

由于Python某些第三方库仅提供源代码,通过pip下载文件后无法在Windows系统编译安装,会导致第三方库安装失败。为了解决这类第三方库的安装问题,美国加州大学尔湾分校提供了一个网页,帮助Python用户获得Windows可直接安装的第三方库文件。 1、下载网址https://www.lfd.uci.edu/~gohlke/pythonlibs 2、安...

linux环境安装opencv导入依赖报错问题

linux环境通过pip安装opencv后,导入cv2时报错: 在centos和ubuntu环境下都遇到相同的问题。报错原因: 缺少共享库有两种解决办法:一.使用如下命令查看缺少得共享库yum whatprovides libSM.so.6使用以下命令解决:yum install libSM-1.2.2-2.el7.x86_64 --setopt=prot...

使用Python进行PDF图片识别OCR

使用场景 使用图片识别可以快速提取图片中的信息,方便高效。 Python并不能直接对PDF进行识别,所以如果是识别PDF的话,需要先将PDF转化为图片,然后再进行识别。 必备工具 Python  可以安装3.7及以上版本 tesseract-ocr  下载地址: https://github.com/UB-Mannheim/tesseract/wiki 使...