衡量运行时最佳实践 (Python)

Measuring runtime best practices (Python)

我对评估算法的复杂性还很陌生,我的任务是测量一些函数的实际运行时间。

我一直在使用time.process_time()。这是解决问题的最佳方法吗?

选项 1:分析代码以了解 Real-Life 场景中的整体性能

这是确定 运行 您的函数在 real-life 场景中的影响的好方法。

要详细了解您的代码性能,您可以使用 Profiling

运行以下命令评估函数性能:

import cProfile
cProfile.run('function()')

这为您提供了有价值的信息,例如;总调用次数、累计时间、各函数调用次数、各函数调用次数。

选项 2:调查特定函数调用持续时间

这是了解函数运行时持续时间的好方法。

使用decorator:

from functools import wraps
from time import time

def timing(f):
    @wraps(f)
    def wrap(*args, **kw):
        ts = time()
        result = f(*args, **kw)
        te = time()
        print 'func:%r args:[%r, %r] took: %2.4f sec' % \
          (f.__name__, args, kw, te-ts)
        return result
    return wrap

这样使用:

@timing
def function():
    <code>