我的Python应用程序运行多长时间?

时间:2012-09-16 02:31:12

标签: python timer

基本上,我希望能够输出运行应用程序的已用时间。我想我需要使用某种timeit函数,但我不确定是哪一个。我正在寻找类似下面的东西......

START MY TIMER
code for application
more code
more code
etc
STOP MY TIMER

OUTPUT ELAPSED TIME在计时器的启动和停止之间执行上述代码。想法?

6 个答案:

答案 0 :(得分:36)

最简单的方法是:

import time
start_time = time.time()

在开始时和

print "My program took", time.time() - start_time, "to run"

最后。

答案 1 :(得分:12)

要在不同平台上获得最佳效果:

from timeit import default_timer as timer

# START MY TIMER
start = timer()
code for application
more code
more code
etc
# STOP MY TIMER
elapsed_time = timer() - start # in seconds

timer()在Python 3.3中是time.perf_counter(),在Windows /其他平台上的旧版本中是time.clock()/time.time()

答案 2 :(得分:8)

如果您运行的是Mac OS X或Linux,请使用time实用程序:

$ time python script.py
real    0m0.043s
user    0m0.027s
sys     0m0.013s

如果没有,请使用time模块:

import time

start_time = time.time()

# ...

print time.time() - start_time, 's'

答案 3 :(得分:6)

您可以使用系统命令time

foo@foo:~# time python test.py
hello world!

real    0m0.015s
user    0m0.008s
sys     0m0.007s

答案 4 :(得分:0)

难道你不能在开始和结束时获得当前的系统时间,然后从最后一次减去开始时间吗?

答案 5 :(得分:0)

在程序开始时获取系统当前时间,然后在结束时再次获取程序的结束时间,最后减去这两个时间。

下面的代码描述了我们如何执行上述操作:

import time
start = time.time()
  

示例代码从此处开始

cnt = 1
for fun in range(10**11):
    if (fun % 10**9 == 0):
        print(cnt, fun)
        cnt += 1
  

示例代码在这里结束

end = time.time()
print('Time taken for fun program: ', end - start)

希望这永远是清楚的。