Discuss / Python / 你猜

你猜

Topic source

longtometosee

#1 Created at ... [Delete] [Delete and Lock User]

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())


  • 1

Reply