Python 检查执行时间的实用程序?
是否有bash命令或Python库来计算执行文件/命令的时间?我希望能够决定哪种语言最适合一项任务,或者有一种方法可以确定Python代码a比Python代码B运行得更快。如果有一种方法可以做到这一点,但这个问题是离题的,请在搜索词或其他资源中留下评论。是的,它被称为Python 检查执行时间的实用程序?,python,shell,execution-time,Python,Shell,Execution Time,是否有bash命令或Python库来计算执行文件/命令的时间?我希望能够决定哪种语言最适合一项任务,或者有一种方法可以确定Python代码a比Python代码B运行得更快。如果有一种方法可以做到这一点,但这个问题是离题的,请在搜索词或其他资源中留下评论。是的,它被称为time命令。如时间命令arg1 arg2 arg3中所示 这将输出3个字段,如下所示: real 0m0.631s user 0m0.154s sys 0m0.458s 第一个是实际的挂钟时间。第二个问题是程
time
命令。如时间命令arg1 arg2 arg3中所示
这将输出3个字段,如下所示:
real 0m0.631s
user 0m0.154s
sys 0m0.458s
第一个是实际的挂钟时间。第二个问题是程序在用户空间中花费的时间。第三个是程序在内核空间中花费的时间。时间
例如:
time ls -a
列出文件后
real 0m0.240s
user 0m0.002s
sys 0m0.004s
就资源而言,有许多可供选择的跟踪内容。有关详细信息,请参见手册页
python -m timeit "setup" "code"
如果您想计时Python代码。适用于快速且不可靠的性能基准测试。您可以使用timeit:
from timeit import timeit
print timeit("function_2(arg)", "from __main__ import function_2, arg", number=5)
注意事项:
从uuuu main_uuuu导入函数,arg
让timeit
模块访问脚本中的函数和变量
- 函数和相关参数必须作为字符串传递
- number=运行次数[默认为1000000]
- timeit返回的时间是
number
运行次数的总和…而不是平均值(发现我有一次…)
我使用了这个片段,我在网上某个我不记得的地方找到了它:
import atexit
import time
def secondsToStr(t):
return "%d:%02d:%02d.%03d" % \
reduce(lambda ll,b : divmod(ll[0],b) + ll[1:],
[(t*1000,),1000,60,60])
line = "="*40
def log(s, elapsed=None):
print line
print secondsToStr(time.clock()), '-', s
if elapsed:
print "Elapsed time:", elapsed
print line
print
def endlog():
end = time.clock()
elapsed = end-start
log("End Program", secondsToStr(elapsed))
def now():
return secondsToStr(time.clock())
start = time.clock()
atexit.register(endlog)
log("Start Program")
虽然我没有接受这一点,但我还是接受了。太遗憾了,我不能接受倍数D谢谢!