正确求程序运行时间:
import time
import functools
def metric(fn):
@functools.wraps(fn)
def w(*args, **kw):
start = time.time()
f = fn(*args, **kw)
print('%s executed in %s ms' % (fn.__name__, time.time() - start))
return f
return w
错误求程序运行时间:
def printRunTime(func):
@functools.wraps(func)
def wrapper(*args, **kw):
start = time.time()
res = func(*args, **kw)
end = time.time()
print('%s run for %d s!'%(func.__name__, end - start)
return res
return wrapper
错误解法里面 end - start 算不上函数执行的时间,这样算的只是 res = func(*args, **kw)这一句的时间