关于花费时间的Python问题

day*_*mer 4 python timedelta

我想知道特定函数在程序持续期间花了多少时间涉及递归,最好的方法是什么?

谢谢

Jus*_* L. 12

最好的方法是运行一些基准测试(测试单个函数)或分析(测试整个应用程序/程序).Python附带内置的Profilers.

或者,你可以回去了很基础,只需在程序开始时设置的开始时间,并在节目的最后,从起始时间减去当前时间.这基本上是非常简单的基准测试.

以下是来自链接问题的答案的实现:

import time
start = time.time()
do_long_code()
print "it took", time.time() - start, "seconds."
Run Code Online (Sandbox Code Playgroud)

Python也有标准库中包含的基准测试功能.

从示例中给出页面:

def test():
    "Time me"
    L = []
    for i in range(100):
        L.append(i)

if __name__=='__main__':
    from timeit import Timer
    t = Timer("test()", "from __main__ import test")
    print t.timeit()
Run Code Online (Sandbox Code Playgroud)