So che questo è in ritardo, ma io in realtà piace molto utilizzare:
start = time.time()
##### your timed code here ... #####
print "Process time: " + (time.time() - start)
time.time()
ti dà secondi dal l'epoca. Poiché si tratta di un tempo standardizzato in secondi, è sufficiente sottrarre l'ora di inizio dall'ora di fine per ottenere il tempo di elaborazione (in secondi).time.clock()
è un ottimo strumento per il benchmarking, ma l'ho trovato praticamente inutile se si desidera sapere quanto tempo ha impiegato il processo. Ad esempio, è molto più intuitivo da dire "il mio processo richiede 10 secondi" di quello che è a dire "il mio processo richiede processore 10 unità di clock"
>>> start = time.time(); sum([each**8.3 for each in range(1,100000)]) ; print (time.time() - start)
3.4001404476250935e+45
0.0637760162354
>>> start = time.clock(); sum([each**8.3 for each in range(1,100000)]) ; print (time.clock() - start)
3.4001404476250935e+45
0.05
Nel primo esempio di cui sopra, si sono mostrati un tempo di 0,05 per time.clock() vs 0,06,377 mila per time.time()
>>> start = time.clock(); time.sleep(1) ; print "process time: " + (time.clock() - start)
process time: 0.0
>>> start = time.time(); time.sleep(1) ; print "process time: " + (time.time() - start)
process time: 1.00111794472
Nel secondo esempio, in qualche modo il tempo processore indica "0" anche se il processo dormiva per un secondo. time.time()
mostra correttamente un po 'più di 1 secondo.
Perché non si stampa t2-t1? Cosa ti ha impedito di sottrarre? –
Indovina, ho avuto il momento "non poteva essere così facile". – BuddyJoe