import functools,time
def metric(func):
@functools.wraps(func)
def wrapper(*args,**kw):
start=time.time() # 用time来计算程序执行时间。time.time()是统计的wall time(即墙上时钟),也就是系统时钟的时间戳(1970纪元后经过的浮点秒数)。所以两次调用的时间差即为系统经过的总时间。
t=func(*args,**kw) # 执行函数并将结果保存到变量t。
end=time.time()
print('%s exectued in %f ms' % (func.__name__,(end-start)*1000))
return t
return wrapper
@metric # 相当于 procudure=metric(procudure),
def procedure():
a=0
for x in range(100000000):
a=a+x
print(procedure())
Sign in to make a reply
longtometosee
import functools,time
def metric(func):
@functools.wraps(func)
def wrapper(*args,**kw):
start=time.time() # 用time来计算程序执行时间。time.time()是统计的wall time(即墙上时钟),也就是系统时钟的时间戳(1970纪元后经过的浮点秒数)。所以两次调用的时间差即为系统经过的总时间。
t=func(*args,**kw) # 执行函数并将结果保存到变量t。
end=time.time()
print('%s exectued in %f ms' % (func.__name__,(end-start)*1000))
return t
return wrapper
@metric # 相当于 procudure=metric(procudure),
def procedure():
a=0
for x in range(100000000):
a=a+x
print(procedure())