你如何计算python中的程序运行时间? [复制]
Posted
技术标签:
【中文标题】你如何计算python中的程序运行时间? [复制]【英文标题】:How do you calculate program run time in python? [duplicate] 【发布时间】:2011-08-03 03:19:45 【问题描述】:在python中如何计算程序运行时间?
【问题讨论】:
好主意是这个答案(简短而快速):***.com/a/1557584/3048464 【参考方案1】:您可能想看看timeit
模块:
http://docs.python.org/library/timeit.html
或profile
模块:
http://docs.python.org/library/profile.html
这里还有一些不错的教程:
http://www.doughellmann.com/PyMOTW/profile/index.html
http://www.doughellmann.com/PyMOTW/timeit/index.html
time
模块也可能派上用场,尽管我更喜欢后面两个关于基准测试和分析代码性能的建议:
http://docs.python.org/library/time.html
【讨论】:
谢谢!这很好用。对于可能第一次使用 timeit 的其他人,请注意,您需要通过 timeit 的设置参数导入本地定义的符号。例如(如果 myOwnFunc 是本地定义的并且您想要计时):print timeit.timeit('myOwnFunc()', setup='from __main__ import myOwnFunc', number=1)
。如果没有设置参数,它会抱怨找不到 myOwnFunc。【参考方案2】:
看到这个: Python - time.clock() vs. time.time() - accuracy?
【讨论】:
【参考方案3】:@JoshAdel 涵盖了很多内容,但如果您只想为整个脚本的执行计时,您可以在类似 unix 的系统上以time
运行它。
kotai:~ chmullig$ cat sleep.py
import time
print "presleep"
time.sleep(10)
print "post sleep"
kotai:~ chmullig$ python sleep.py
presleep
post sleep
kotai:~ chmullig$ time python sleep.py
presleep
post sleep
real 0m10.035s
user 0m0.017s
sys 0m0.016s
kotai:~ chmullig$
【讨论】:
【参考方案4】:快速替代
import timeit
start = timeit.default_timer()
#Your statements here
stop = timeit.default_timer()
print('Time: ', stop - start)
【讨论】:
@hajder 它给出的时间是以秒为单位的,对吧?! @diffracteD 是的,UNIX 时代。 docs.python.org/2/library/timeit.html#timeit.default_timer 和 epochconverter.com 但 default_timer() 测量挂钟时间,因此任何其他程序都会干扰测量。【参考方案5】:我不知道这是否是一个更快的选择,但我有另一个解决方案 -
from datetime import datetime
start=datetime.now()
#Statements
print datetime.now()-start
【讨论】:
我的最爱!很简单,但我发现最后一行应该是 'print(datetime.now()-start)' 并且没有括号就不能工作。 @ThomasWinckelman:当时我写答案时牢记 Python 2。以上是关于你如何计算python中的程序运行时间? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何检测 Python 是不是作为 64 位应用程序运行? [复制]