Python 中最简单的方法:
import time
start_time = time.time()
main()
print("--- %s seconds ---" % (time.time() - start_time))
这假定您的程序至少需要十分之一秒才能运行。
打印:
--- 0.764891862869 seconds ---
我把这个timing.py
模块放到我自己的site-packages
目录中,然后在我的模块顶部插入import timing
:
import atexit
from time import clock
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(clock()), '-', s
if elapsed:
print "Elapsed time:", elapsed
print line
print
def endlog():
end = clock()
elapsed = end-start
log("End Program", secondsToStr(elapsed))
def now():
return secondsToStr(clock())
start = clock()
atexit.register(endlog)
log("Start Program")
如果我想要显示的程序中有重要的阶段,我也可以从我的程序中调用timing.log
。但仅包括import timing
将打印开始和结束时间以及总体经过时间。 (原谅我不起眼的secondsToStr
函数,它只是将浮点数秒格式化为 hh:mm:ss.sss 形式。)
在 Linux 或 UNIX 中:
time python yourprogram.py
在 Windows 中,请参阅此 Stackoverflow 讨论: 如何在 windows 命令行中测量命令的执行时间?