Ich weiß, das Ende zu testen, aber ich wirklich wirklich wie mit:
start = time.time()
##### your timed code here ... #####
print "Process time: " + (time.time() - start)
time.time()
gibt Ihnen Sekunden seit die Epoche. Da dies eine standardisierte Zeit in Sekunden ist, können Sie die Startzeit einfach von der Endzeit subtrahieren, um die Prozesszeit (in Sekunden) zu erhalten.time.clock()
ist gut für Benchmarking, aber ich habe es als nutzlos, wenn Sie wissen möchten, wie lange Ihr Prozess dauerte. Zum Beispiel, es ist viel intuitiver zu sagen, „mein Vorgang dauert 10 Sekunden“, als es zu sagen ist über
>>> 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 „mein Prozess 10 Prozessor-Takteinheiten dauert“, werden Sie eine Zeit von 0,05 gezeigt für time.clock() vs 0,06377 für 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
im zweiten Beispiel, irgendwie die Prozessorzeit „0“ zeigt, obwohl der Prozess für eine Sekunde geschlafen. time.time()
zeigt korrekt etwas mehr als 1 Sekunde an.
Warum Sie t2-t1 nicht drucken? Was hat dich davon abgehalten, zu subtrahieren? –
Ich denke, ich hatte den Moment "Es könnte nicht so einfach sein". – BuddyJoe