Quello che faccio di solito è usare clock()o time()dalla timelibreria. clockmisura il tempo dell'interprete, mentre timemisura 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' timeapproccio 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 timedeltae stresso:
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 .