Python中统计函数运行耗时的方法

665次阅读  |  发布于5年以前

本文实例讲述了Python中统计函数运行耗时的方法。分享给大家供大家参考。具体实现方法如下:


    import time
    def time_me(fn):
      def _wrapper(*args, **kwargs):
        start = time.clock()
        fn(*args, **kwargs)
        print "%s cost %s second"%(fn.__name__, time.clock() - start)
      return _wrapper
    #这个装饰器可以在方便地统计函数运行的耗时。
    #用来分析脚本的性能是最好不过了。
    #这样用:
    @time_me
    def test(x, y):
      time.sleep(0.1)
    @time_me
    def test2(x):
      time.sleep(0.2)
    test(1, 2)
    test2(2)
    #输出:
    #test cost 0.1001529524 second
    #test2 cost 0.199968431742 second

另一个更高级一点的版本是:


    import time
    import functools
    def time_me(info="used"):
      def _time_me(fn):
        @functools.wraps(fn)
        def _wrapper(*args, **kwargs):
          start = time.clock()
          fn(*args, **kwargs)
          print "%s %s %s"%(fn.__name__, info, time.clock() - start), "second"
        return _wrapper
      return _time_me
    @time_me()
    def test(x, y):
      time.sleep(0.1)
    @time_me("cost")
    def test2(x):
      time.sleep(0.2)
    test(1, 2)
    test2(2)

希望本文所述对大家的Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8