【Python3】使用AOP的方法,计算某某函数运行的时长
发表于 : 2012-11-23 11:48
使用timeit()函数,记录其他函数的运行时间。
我的问题就是,当foo()函数的参数是未知的,或是一个递归函数,那timeit()函数就没有用了。
怎么打造一个万能的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()------------
怎么打造一个万能的timeit函数啊!