分页: 1 / 1

【Python3】使用AOP的方法,计算某某函数运行的时长

发表于 : 2012-11-23 11:48
215317196
使用timeit()函数,记录其他函数的运行时间。

代码: 全选

#!/usr/bin/env python
# -*- coding:utf-8 -*-

from random import random
import time
import functools

def timeit(func):
    @functools.wraps(func)
    def wrapper(arg):
        st = time.time()
        func_re = func(arg)
        et = time.time()
        print('used:', et-st)
        return func_re
    return wrapper

@timeit
def foo(n):
    for x in range(n):
        pass
    return 'My name is foo()'.center(40, '-')

Re = foo(1000000)
print(Re)

代码: 全选

运行结果:
used: 0.0625
------------My name is foo()------------
我的问题就是,当foo()函数的参数是未知的,或是一个递归函数,那timeit()函数就没有用了。
怎么打造一个万能的timeit函数啊!

Re: 【Python3】使用AOP的方法,计算某某函数运行的时长

发表于 : 2012-12-02 14:43
EasY酱
不会。。我才刚入门,都看不懂你的写的。。只是想问下@符号有什么用啊?难道是注解?

Re: 【Python3】使用AOP的方法,计算某某函数运行的时长

发表于 : 2012-12-02 16:24
枫叶饭团
装饰器,面向切面编程