2012-09-16 33 views
12

Básicamente, quiero poder dar salida al tiempo transcurrido por el que se está ejecutando la aplicación. Creo que necesito usar algún tipo de función de tiempo, pero no estoy seguro de cuál. Busco algo como lo siguiente ...¿Cuánto tarda mi aplicación Python en ejecutarse?

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

SALIDA TRANSCURRIDO que ver el código anterior en el medio de inicio y parada del contador de tiempo. ¿Pensamientos?

Respuesta

0

¿No podría simplemente obtener la hora actual del sistema al principio y al final, y luego restar la hora de inicio de la hora final?

18

La forma más sencilla de hacerlo es poner:

import time 
start_time = time.time() 

al principio y

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

al final.

+0

Gracias. Funcionó perfectamente – user1675111

1

Si está ejecutando Mac OS X o Linux, sólo tiene que utilizar la utilidad de time:

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

Si no es así, utilice el módulo time:

import time 

start_time = time.time() 

# ... 

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

podría utilizar el comando del sistema time :

[email protected]:~# time python test.py 
hello world! 

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

Me gusta esto, excepto que esto incluirá cualquier "sobrecarga" para las importaciones e inicializaciones que no desee probar, en el caso de medir el tiempo de un fragmento de código. – Ian

+0

en windows time no funciona – George

8

Para obtener el mejor resultado en diferentes plataformas:

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() es una time.perf_counter() en Python 3.3 y time.clock()/time.time() en las versiones anteriores en Windows/otras plataformas correspondientemente.

Cuestiones relacionadas