微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何检测Python的运行时间?检测Python运行时间的方法

在运行复杂的Python程序时,执行时间会很长,这时也许想提高程序的执行效率。但该怎么做呢?首先,要有个工具能够检测代码中的瓶颈,例如,找到哪一部分执行时间比较长。接着,就针对这一部分进行优化。同时,还需要控制内存和cpu的使用,这样可以在另一方面优化代码文章中详细的讲解了检测Python运行时间的方法,一起来看看吧。

1、装饰器来衡量函数执行时间

在python中有一种非常简单的方式获取执行的时间,那就是通过对装饰器进行定义,当我们要进行函数的测量的时候,就可以利用这个装饰器去获得执行的时间,并且最后会输出运行的结果,举个例子代码如下:

import time
from functools import wraps
def fn_timer(function):
  @wraps(function)
  def function_timer(*args, **kwargs):
    t0 = time.time()
    result = function(*args, **kwargs)
    t1 = time.time()
    print ("Total time running %s%s seconds" %
        (function.func_name, str(t1-t0))
        )
    return result
  return function_timer

当定义好装饰器之后,还需要将这个装饰器添加到所定义的函数之前,如下所示:

@fn_timer
def myfunction(...):

2、timeit模块

第二个方法就是使用Python中的timeit模块,使用这个模块可以用来计算平均时间消耗。当我们执行下面的脚本时就可以运行该模块。

python -m timeit -n 4 -r 5 -s "import timing_functions" "timing_functions.random_sort(2000000)"

代码中的timing_functions表示的是一个Python脚本文件名称。最后会在末尾将运行结果输出,最后得到的结果如下:

6 loops, best of 4: 2.08 sec per loop

这表示测试了6次,平均每次测试重复4次,测试的过程中,最好的一次为2.08秒。当我们不指定测试或重复次数时,认值为10次测试,每次重复5次。

关于如何检测Python的运行时间?检测Python运行时间的方法文章就先分享到这里了,文章中介绍了两种检测python运行时间的方法,希望大家通过对这篇文章的学习能掌握到更多的python知识。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐