Viktors Kurztipp

Heute im Fokus: Messung der Zeit, die zur Ausführung eines Code-Abschnitts nötig ist.

In der Vorstellung der Lösung des ersten Problems von Projecteuler.net habe ich es bereits angewendet. Die Zeitmessung könnte aus unterschiedlichen Gründen interessant sein. Für mich ist es zunächst wichtig, um unterschiedliche Versionen einer Funktion zu testen. In der schon genannten Lösung des ersten Projecteuler-Problems habe ich zwei komplett verschiedene Lösungsansätze miteinander verglichen und zur Bewertung hauptsächlich die benötigte Zeit herangezogen.

Zeitmessung in Python mit dem time-Modul

Das time-Modul stellt in meinen Augen eine der einfachsten Varianten zur Zeitmessung zur Verfügung. Im folgenden Beispiel findest du ein kurzes Beispiel:

import time as t
def komplexe_funktion(N):
    ...

t0 = t.time();
N = 10000000
erg = komplexe_funktion(N);
tn = t.time();

print("Ergebnis: %6i" % erg)
print ("Benötigte Zeit: %.15f" % (tn-t0))

Die Funktion time() aus dem time-Modul liefert laut der Python-Dokumentation die genauste verfügbare Zeit zurück, was vom System abhängt. In dem Code-Beispiel wird vor und nach dem Ausführen einer Funktion die Zeit gemessen. Die Differenz der zwei Werte ergibt die Zeit, die zur Funktionsausführung benötigt wird.
Was meist als CPU- oder Prozessorzeit bezeichnet wir, liefert die Funktion clock() aus dem time-Modul. Die Python-Dokumentation rät dazu, Python-Funktionen mit dieser Zeit zu benchmarken. Sie wird genauso wie time() verwendet.

Zeitmessung in Python mit dem timeit-Modul

from timeit import Timer
s = """ ... Anweisungen ..."""
t = Timer(stmt=s)
print("Zeit mit timeit: %.15f" % (t.timeit(number=100)))

Die timeit()-Funktion verwendet standardmäßig intern die time()-Funktion auf dem meisten Systemen außer Windows und die Funktion clock() auf Windows.

Welche Funktionen verwendet Ihr?

Jetzt bist du an der Reihe deine Benchmarking-Methoden für einfache Funktionen darzulegen. Welche Funktionen verwendest du zur Messung der Zeit oder nach welchen Kategorien bewertest du deinen eigenen Code?

Scribtee - Designer T-Shirts

Artikel aus der selben Kategorie:

Es gibt noch keine Kommentare zu “Kurztipp 1: Zeitmessung in Python”.
Jede Meinung ist willkommen!

Meinungsfreiheit für alle!