按功能计算执行时间?

时间:2018-07-31 06:05:22

标签: python python-3.x performance performance-testing

我制作了一个具有6-7个功能的程序。我想看看每个功能要花多少时间,以便可以改善消耗大量时间的功能。

还可以按单元计算吗?

1 个答案:

答案 0 :(得分:0)

您可以通过创建装饰器函数并将其应用于感兴趣的函数来实现。

这是我的意思:

from functools import wraps
import time

def time_this(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        start = time.perf_counter()
        ret = func(*args, **kwargs)
        end = time.perf_counter()
        elapsed = end - start
        print('elapsed time: {}'.format(elapsed))
        return ret
    return wrapper

if __name__ == '__main__':
    # Test it

    @time_this
    def myfunc():
        time.sleep(.25)

    myfunc()  # -> elapsed time: 0.24919553