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

yipeiwu_com6年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

实例详解python函数的对象、函数嵌套、名称空间和作用域

函数的对象 python中一切皆对象 函数对象的四大功能 引用 def f1(): print('from f1') f1() #调用函数 print(f1) print('*'...

pycharm 主题theme设置调整仿sublime的方法

pycharm 主题theme设置调整仿sublime的方法

选择File->Settings 首先选择整体的theme 在font中scheme选择monokai,但是并不能进行更改,比如字体大小,如果要进行进一步地调整,选择save a...

Centos部署django服务nginx+uwsgi的方法

1.安装python3 yum -y install wget gcc make zlib-devel readline-devel bzip2-devel ncurses-dev...

python的mysqldb安装步骤详解

python的mysqldb安装步骤详解 安装MySQLdb: 一、 什么是MySQLdb? 解释:MySQLdb是Python操作MySQL的一个接口包。这里要理解一个概念,pytho...

python使用xmlrpc实例讲解

RPC是Remote Procedure Call的缩写,翻译成中文就是远程方法调用,是一种在本地的机器上调用远端机器上的一个过程(方法)的技术,这个过程也被大家称为“分布式计算”,是为...