Python Timeit() mit Beispielen
Was ist Python Timeit()?
Python timeit() ist eine Methode in der Python-Bibliothek, um die Ausführungszeit des angegebenen Code-Snippets zu messen. Die Python-Bibliothek führt die Code-Anweisung 1 Million Mal aus und stellt die Mindestzeit bereit, die aus dem angegebenen Satz von Code-Snippets genommen wird. Python timeit() ist eine nützliche Methode, die beim Überprüfen der Leistung des Codes hilft.
Syntax:
timeit.timeit(stmt, setup,timer, number)
Parameter
- stmt :Dies nimmt den Code, für den Sie die Ausführungszeit messen möchten. Der Standardwert ist „pass“.
- Einrichtung :Dies wird Setup-Details enthalten, die vor stmt ausgeführt werden müssen. Der Standardwert ist „pass.“
- Zeitgeber :Dies wird den Timer-Wert haben, timeit() hat bereits einen Standardwert gesetzt, und wir können ihn ignorieren.
- Nummer :Die stmt wird gemäß der hier angegebenen Nummer ausgeführt. Der Standardwert ist 1000000.
Um mit timeit() zu arbeiten, müssen wir das Modul importieren, wie unten gezeigt:
import timeit
Erstes Beispiel
Hier ist ein einfaches Beispiel für die Funktion timeit()
Codebeispiel 1:
# testing timeit() import timeit print(timeit.timeit('output = 10*5'))
Ausgabe:
0.06127880399999999
Wir haben ein einfaches Beispiel gesehen, das uns die Ausführungszeit der einfachen Code-Anweisung ausgegeben =10*5 gibt, und die Zeit, die für die Ausführung benötigt wird, beträgt 0,06127880399999999.
Timing Mehrere Zeilen in Python-Code
Es gibt zwei Möglichkeiten, mehrere Codezeilen in timeit.timeit() auszuführen, indem Sie ein Semikolon verwenden oder den Code als Zeichenfolge in dreifachen Anführungszeichen speichern.
Hier sind Beispiele, die die Funktionsweise zeigen.
Beispiel 1:Semikolon verwenden
import timeit print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b'))
Ausgabe:
The time taken is 0.137031482
Beispiel 2:Dreifache Anführungszeichen verwenden
import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module))
Ausgabe:
C:\pythontest>python testtimeit.py The time taken is 0.182619178
timeit – Methoden:
Hier sind 2 wichtige Timeit-Methoden
timeit.default_timer() :Dies gibt die Standardzeit zurück, wenn es ausgeführt wird.
timeit.repeat(stmt, setup, timer, repeat, number) :dasselbe wie timeit() , aber mit repeat wird timeit() die Anzahl der Wiederholungen genannt.
Programmbeispiel 1:
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.timeit(stmt=testcode, setup=import_module))
Ausgabe:
0.46715912400000004
Beispiel 2:
default_timer() Beispiel
# testing timeit() import timeit import random def test(): return random.randint(10, 100) starttime = timeit.default_timer() print("The start time is :",starttime) test() print("The time difference is :", timeit.default_timer() - starttime)
Ausgabe:
The start time is : 0.220261875 The time difference is : 0.0004737320000000045
Beispiel 3:timeit.repeat()
# testing timeit() import timeit import_module = "import random" testcode = ''' def test(): return random.randint(10, 100) ''' print(timeit.repeat(stmt=testcode, setup=import_module, repeat=5))
Ausgabe:
[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]
timeit.repeat() funktioniert ähnlich wie die Funktion timeit.timeit(), mit dem einzigen Unterschied, dass sie das Wiederholungsargument übernimmt und die Ausführungszeit im Array-Format mit Werten gemäß der Wiederholungsnummer zurückgibt.
Ausführen der Timing-Funktion timeit.timeit() innerhalb der Befehlszeilenschnittstelle
Die Syntax zum Ausführen Ihrer Funktion innerhalb von timeit() auf der Befehlszeile lautet wie folgt:
python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]
Befehlszeilenparameter:
- -n N:wie oft der Code ausgeführt werden soll.
- -r N:die Anzahl der Wiederholungen der timeit()-Funktion
- -s S:Dies enthält Einrichtungsdetails, die vor der Codeausführung ausgeführt werden.
- -t:Dafür können Sie time.time() verwenden
- -c:Dafür können Sie time.clock() verwenden
- -h:für Hilfe
- Code-Anweisung:Die Code-Details.
Beispiel:
C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop
Eine andere Möglichkeit, die Sie innerhalb der Befehlszeile ausführen können, ist wie unten gezeigt:
Beispiel :
>>> import timeit >>> print("The time taken is ",timeit.timeit(stmt='a=10;b=10;sum=a+b')) The time taken is 0.15048536300000137 >>>
Warum ist timeit() der beste Weg, um die Ausführungszeit von Python-Code zu messen?
Hier sind einige Gründe, warum wir timeit() für die beste Methode zur Messung der Ausführungszeit halten.
- Es führt die Code-Anweisung 1 Million Mal aus, was der Standardwert ist, und gibt Ihnen die minimal benötigte Zeit zurück. Sie können die 1 Million auch erhöhen/verringern, indem Sie das Argument number in der Funktion time () festlegen.
- Während der Ausführung des Tests wird die Garbage Collection jedes Mal durch die Funktion time() deaktiviert.
- timeit() nimmt intern die genaue Zeit gemäß Ihrem verwendeten Betriebssystem. Beispielsweise wird time.clock() für das Windows-Betriebssystem und time.time() für Mac und Linux verwendet.
Zusammenfassung
Timeit() wird verwendet, um die Ausführungszeit für den gegebenen kleinen Code zu erhalten
Mit timeit() verwendete Parameter
- stmt:Dies nimmt den Code, den Sie zum Messen der Ausführungszeit benötigen
- setup:Dies wird Setup-Details enthalten, die vor stmt ausgeführt werden müssen
- timer:Dies wird den Timer-Wert haben, timeit() hat bereits einen Standardwert gesetzt, und wir können ihn ignorieren.
- Nummer:Der stmt wird gemäß der hier angegebenen Nummer ausgeführt.
Python
- Python Holen Sie sich die aktuelle Zeit
- Python-Zeitmodul
- Python String count() mit BEISPIELE
- Python String format() Erklären Sie mit BEISPIELE
- Python String find() Methode mit Beispielen
- Python-Lambda-Funktionen mit BEISPIELE
- Python-Funktion round() mit BEISPIELE
- Python map() Funktion mit BEISPIELE
- Python-Zähler in Sammlungen mit Beispiel
- type() und isinstance() in Python mit Beispielen