Ich weiß, dass dies spät ist, aber ich benutze es wirklich sehr gerne:
import time
start = time.time()
##### your timed code here ... #####
print "Process time: " + (time.time() - start)
time.time()
gibt Ihnen Sekunden seit der Epoche. Da dies eine standardisierte Zeit in Sekunden ist, können Sie einfach die Startzeit von der Endzeit subtrahieren, um die Prozesszeit (in Sekunden) zu erhalten. time.clock()
ist gut für das Benchmarking, aber ich habe es als nutzlos empfunden, wenn Sie wissen möchten, wie lange Ihr Prozess gedauert hat. Zum Beispiel ist es viel intuitiver zu sagen "mein Prozess dauert 10 Sekunden" als zu sagen "mein Prozess dauert 10 Prozessortakteinheiten".
>>> 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
Im ersten Beispiel oben wird eine Zeit von 0,05 für time.clock () gegenüber 0,06377 für time.time () angezeigt.
>>> 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
Im zweiten Beispiel zeigt die Prozessorzeit irgendwie "0" an, obwohl der Prozess eine Sekunde lang geschlafen hat. time.time()
zeigt etwas mehr als 1 Sekunde korrekt an.