Quello che faccio di solito è usare clock()
o time()
dalla time
libreria. clock
misura il tempo dell'interprete, mentre time
misura il tempo di sistema. Ulteriori avvertenze sono disponibili nei documenti .
Per esempio,
def fn():
st = time()
dostuff()
print 'fn took %.2f seconds' % (time() - st)
O in alternativa, puoi usare timeit
. Uso spesso l' time
approccio a causa della velocità con cui riesco a sbatterlo, ma se stai programmando un pezzo di codice isolabile, timeit
è utile.
Dai documenti timeit ,
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()
Quindi per convertire in minuti, puoi semplicemente dividere per 60. Se desideri che lo script runtime sia in un formato facilmente leggibile, che si tratti di secondi o giorni, puoi convertirlo in un timedelta
e str
esso:
runtime = time() - st
print 'runtime:', timedelta(seconds=runtime)
e questo stamperà qualcosa del modulo [D day[s], ][H]H:MM:SS[.UUUUUU]
. Puoi consultare i documenti di timedelta .
E infine, se ciò che stai effettivamente cercando è la profilazione del tuo codice, Python rende disponibile anche la libreria dei profili .