Lo que suelo hacer es usar clock()
o time()
de la time
biblioteca. clock
mide el tiempo del intérprete, mientras que time
mide el tiempo del sistema. Advertencias adicionales se pueden encontrar en los documentos .
Por ejemplo,
def fn():
st = time()
dostuff()
print 'fn took %.2f seconds' % (time() - st)
O, alternativamente, puedes usar timeit
. A menudo uso el time
enfoque debido a la rapidez con la que puedo golpearlo, pero si está cronometrando un fragmento de código aislable, timeit
es útil.
Desde el momento en que los documentos ,
def test():
"Stupid test function"
L = []
for i in range(100):
L.append(i)
if __name__=='__main__':
from timeit import Timer
t = Timer("test()", "from __main__ import test")
print t.timeit()
A continuación, para convertir a los minutos, sólo tiene que dividir por 60. Si desea que el tiempo de ejecución de secuencias de comandos en un formato fácil de leer, ya sea segundos o días, puede convertir a una timedelta
y str
que:
runtime = time() - st
print 'runtime:', timedelta(seconds=runtime)
y eso imprimirá algo del formulario [D day[s], ][H]H:MM:SS[.UUUUUU]
. Puedes consultar los documentos de timedelta .
Y finalmente, si lo que realmente está buscando es perfilar su código, Python también pone a disposición la biblioteca de perfiles .