【问题标题】:Calculate execution time function by function? [duplicate]逐个函数计算执行时间? [复制]
【发布时间】:2018-07-31 06:05:21
【问题描述】:

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

另外,是否也可以按单元格计算?

【问题讨论】:

  • 您正在寻找timeit
  • 你看过timeit吗?
  • 是的,我做到了。但如何称其为功能明智呢?
  • 如果你想测试特定的功能——正如卢卡所说——timeit。如果您想了解整个程序的工作原理:Python Call Graph 会有所帮助。

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


【解决方案1】:

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

这就是我的意思:

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

【讨论】:

    猜你喜欢
    • 2020-03-28
    • 2021-07-15
    • 2015-07-19
    • 2016-11-15
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    相关资源
    最近更新 更多