Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Industrial programming >> Python

Python timeit(): Ausführungszeit messen mit praktischen Beispielen

Python timeit(): Ausführungszeit messen mit praktischen Beispielen

Was ist Python timeit()?

Python timeit() ist ein eingebautes Modul, das entwickelt wurde, um die Ausführungszeit kleiner Code-Snippets mit hoher Präzision zu messen. Standardmäßig führt es die Anweisung eine Million Mal aus und meldet den schnellsten Lauf, was hilft, die Leistung verschiedener Implementierungen zu vergleichen.

Syntax

timeit.timeit(stmt, setup, timer, number)

Parameter

Modul zuerst importieren:

import timeit

Beispiel 1 – Einfacher Ausdruck timen

# Eine grundlegende arithmetische Operation testen

import timeit
print(timeit.timeit("output = 10*5"))

Typische Ausgabe:

0.06127880399999999

Dies zeigt die Zeit (in Sekunden) für den schnellsten von einer Million Läufen.

Mehrzeiligen Code timen

timeit kann mehrzeiligen Code verarbeiten, indem Anweisungen mit Semikolons getrennt oder ein Tripel-Quote-String übergeben wird.

Semikolons verwenden

import timeit
print("Die benötigte Zeit ist ", timeit.timeit(stmt="a=10;b=10;sum=a+b"))

Ausgabe:

Die benötigte Zeit ist 0.137031482

Tripel-Quote-Strings verwenden

import timeit
import_modul = "import random"
testcode = '''
def test():
    return random.randint(10, 100)
'''
print(timeit.repeat(stmt=testcode, setup=import_modul))

Ausgabe:

C:\pythontest>python testtimeit.py
Die benötigte Zeit ist 0.182619178

Wichtige Methoden

Beispiel 1 – timeit.timeit() verwenden

# Eine Funktion testen, die eine zufällige Ganzzahl zurückgibt
import timeit
import_modul = "import random"
testcode = '''
def test():
    return random.randint(10, 100)
'''
print(timeit.timeit(stmt=testcode, setup=import_modul))

Ausgabe:

0.46715912400000004

Beispiel 2 – default_timer() verwenden

# Einen einzelnen Funktionsaufruf messen
import timeit
import random

def test():
    return random.randint(10, 100)

startzeit = timeit.default_timer()
print("Die Startzeit ist :", startzeit)
test()
print("Der Zeitunterschied ist :", timeit.default_timer() - startzeit)

Ausgabe:

Die Startzeit ist : 0.220261875
Der Zeitunterschied ist : 0.0004737320000000045

Beispiel 3 – timeit.repeat() verwenden

# Den Test fünfmal ausführen und die besten Zeiten erfassen
import timeit
import_modul = "import random"
testcode = '''
def test():
    return random.randint(10, 100)
'''
print(timeit.repeat(stmt=testcode, setup=import_modul, repeat=5))

Ausgabe:

[0.43638873, 0.5040939680000001, 0.5069179909999999, 0.3943449330000002, 0.3546886979999999]

Jeder Eintrag ist die beste Zeit für eine Iteration der 1.000.000 Läufe.

Kommandozeilen-Verwendung

Sie können timeit direkt aus der Shell aufrufen:

python -m timeit [-n N] [-r N] [-s S] [-t] [-c] [-h] [code statement ...]

Beispiel

C:\pythontest>python -m timeit -s 'text="hello world"' 20000000 loops, best of 5: 13.1 nsec per loop

Eine weitere praktische Möglichkeit ist der Aufruf von timeit aus der REPL:

import timeit
print("Die benötigte Zeit ist ", timeit.timeit(stmt="a=10;b=10;sum=a+b"))

Ausgabe:

Die benötigte Zeit ist 0.15048536300000137

Warum timeit() das beste Werkzeug zum Timen von Python-Code ist

Zusammenfassung

Das timeit-Modul ist unverzichtbar für das Benchmarking kurzer Python-Snippets. Seine Parameter sind unkompliziert:

Stellen Sie sicher, timeit für genaue, reproduzierbare Messungen zu verwenden.

Python

  1. Python: Aktuelle Uhrzeit und Zeitzonendaten einfach abrufen
  2. Pythons time-Modul meistern: Funktionen, Structs und praktische Beispiele
  3. Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
  4. Python format()-Strings meistern mit klaren Beispielen
  5. Pythons String.find()-Methode meistern: Syntax, Beispiele & Alternativen
  6. Python Lambda-Funktionen meistern: Praxisbeispiele & Best Practices
  7. Python round()-Funktion erklärt mit praktischen Beispielen
  8. Pythons map()-Funktion meistern: Syntax, Beispiele und Best Practices
  9. Python Counter in collections: Effizientes Zählen, Aktualisieren und arithmetische Operationen
  10. type() und isinstance() in Python verstehen: Praktische Beispiele