Ich dachte beide messen die Zeitmenge? Aber sie geben sehr unterschiedliche Zahlen zurück und ich verstehe nicht, was die Dokumentation sagt. Kann jemand etwas ausarbeiten?Was ist der Unterschied zwischen time.time und time.clock?
Antwort
time.clock()
gibt Ihnen eine verstrichene Zeit. time.time()
gibt Ihnen die Wanduhrzeit.
Sie können time.time()
verwenden, um mit anderen (einschließlich Menschen) darüber zu kommunizieren, wenn etwas passiert ist. time.clock()
können Sie nur messen, wie lange etwas dauert.
Im Allgemeinen verwenden Sie time.clock()
, wenn Sie Timings messen möchten, time.time()
, um etwas zu planen. Zu diesem Zweck muss time.time()
korrekt auf Ihrem Computer eingestellt werden (um mit dem Rest Ihrer Region zu vereinbaren, wie spät es jetzt ist), aber time.clock()
nicht, es zählt nur Sekunden von einem beliebigen Zeitpunkt (normalerweise, wenn Ihr Computer gestartet oder wenn Ihr Prozess zuerst die Funktion verwendet hat).
Das genaue Verhalten von time.clock()
hängt von Ihrem Betriebssystem (es könnte nur Prozesszeit messen, Zeit schlafen ohne, oder es könnte Zeit sogar messen vergangen, wenn der Prozess nicht aktiv ist, könnte es rückwärts wenn Ihre Systemzeit gehen eingestellt , etc).
Für einige Anwendungsfälle dieser Variabilität in genauem Verhalten ist nicht gut genug, und als solcher 3. Es gibt in Python ist veraltet bessere Möglichkeiten für entweder Messung der Leistung oder Prozesszeit verfügbar sind, finden time.perf_counter()
und time.process_time()
.
Auch 'time.clock()' ist maschinenabhängig und wird derzeit nicht weiter unterstützt. – warownia1
@ warownia1: Python 3 hat bessere Optionen, ja. –
@MartijnPieters Warum führt die folgende Antwort in diesem Fall unterschiedliche Antworten aus? '' 's = time.time() time.sleep (10) print ((time.time() - s))' '' und '' 's = time.clock() Zeit. schlaf (10) drucken ((time.clock() - s)) '' ' @ warownia1 was sind die python 3 optionen? Ich muss nur messen, wie lange eine Funktion zur Ausführung benötigt. – JRR