Python Timeit -Modul

Python Timeit -Modul

Bei der Programmierung geht es nicht nur darum, eine Aufgabe zu erledigen und eine Ausgabe zu erhalten, die wir erhalten wollten. Es geht auch darum, wie schnell ein Programm ausgeführt und ausgeführt wird, damit die gewünschte Ausgabe erzielt wird. Mit den meisten Programmiersprachen ist es nicht einfach zu vergleichen. Dies ist das Problem, das vom Python gelöst wird Zeitlinge Modul.

Python Timeit -Modul

Python Zeitlinge Das Modul ermöglicht es uns, die Ausführungszeit eines Codes zu zeitieren, ohne die Hintergrundprozesse zu berücksichtigen, die ausgeführt werden, um einen Code ausführbar zu machen. Wenn Sie leicht genaue Messungen darüber benötigen, wie Ihr Code ausgeführt wird Zeitlinge ist das Modul, für das man sich entscheiden muss.

Timeit einfaches Beispiel

Wir werden mit dem Zeititmodul direkt aus der Eingabeaufforderung beginnen. Das Zeititmodul kann direkt aus der CLI verwendet werden, wo wir eine einfache Schleifenanweisung und die Zeit mit dem angezeigten Befehl eingeben können:

$ python -Verssion
$ python -m timeit '"&".Join (Str (n) für n im Bereich (1000)) '
$ python -m timeit '"&".Join ([str (n) für n in Bereich (1000)]) '
$ python -m timeit '"&".Join (MAP (STR, Bereich (1000))) '

Hier ist, was wir mit diesem Befehl zurückbekommen:

Ausführungszeit aus der CLI mit der Zeitschrift

In einem der späteren Abschnitte erfahren wir, wie wir die Anzahl der durchgeführten Schleifen verwalten können, um die optimale Anzahl für die Ausführung eines bestimmten Ausdrucks zu finden.

Timing eines Code -Stücks Timing

Wenn Sie ein grundlegendes Python -Skript haben, für das Sie Zeit messen möchten, ist das Zeititmodul der Weg:

Importzeit
# Setup -Code wird nur einmal ausgeführt
Setup_code = "Aus Mathematikimport SQRT"
# Hauptcode -Snippet für die Leistungsprüfung
code_to_measure = "'
Def Beispiel ():
myList = []
für x im Bereich (100):
meine Liste.anhängen (SQRT (x))
'"
# Zeititaussage
drucken (Zeitlinge.Timeit (setup = setup_code,
STMT = CODE_TO_MEASURE,
Zahl = 10000))

Sehen wir uns die Ausgabe für diesen Befehl an:

Timing einer Schleife

In diesem Code haben wir auch festgestellt.

Messen Sie die Zeit für Multi-Line-Code von CLI

Wir können auch Zeit für Code messen, der sich über mehrere Zeilen in der Python CLI erstreckt. Schauen wir uns ein Beispielprogramm an, um dies zu sehen:

$ python -m timeit -s \
> "LinuxHint = " \
> "für n in Bereich (1000):" \
> "LinuxHint [str (n)] = n"

Hier ist, was wir mit diesem Befehl zurückbekommen:

Timing Multi-Line-Code auf CLI

Im Allgemeinen zwei Codeblöcke vergleichen

Wenn Sie nicht in den Ärger der Verwendung von CLI geraten und nur zwei Python -Programme vergleichen möchten, damit Sie wissen, welches schneller läuft, gibt es eine ziemlich einfache Möglichkeit, dies zu erreichen:

Importzeit
Start = Zeitlinge.default_timer ()
funcone ()
drucken (Zeitlinge.default_timer () - start)
Start = Zeitlinge.default_timer ()
functwo ()
drucken (Zeitlinge.default_timer () - start)

Durch die Verwendung der Funktion default_timer () starten wir die Zeiten immer wieder, um einen Unterschied dafür zu finden, als sie zuletzt gestartet wurde. Dies kann nur verwendet werden, wenn Sie einen guten modularen Codestil haben, damit jedes Code -Pfarrer separat gemessen werden kann.

Abschluss

In dieser Lektion haben wir untersucht.