你如何计算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不能粘贴代码吗

超简单的Python教程系列——第16篇:多进程

如何检测 Python 是不是作为 64 位应用程序运行? [复制]

如何使用 df 中的多个列来运行多个条件来计算新列? [复制]

ubuntu怎么执行python文件

Python下使用Psyco模块优化运行速度