Messen der Codeausführungszeit mit Pythons timeit
In Python ist die Quantifizierung der Ausführungsdauer von Codesegmenten für Leistungstests von entscheidender Bedeutung. In diesem Artikel wird untersucht, wie Sie das Timeit-Modul von Python für diese Aufgabe nutzen können.
Beispielanwendungsfall
Betrachten Sie das folgende Python-Skript, das mehrere Abfragen in einer Datenbank ausführt:
<code class="python">conn = ibm_db.pconnect("dsn=myDB", "usrname", "secretPWD") for r in range(5): print "Run %s\n" % r query_stmt = ibm_db.prepare(conn, update) ibm_db.execute(query_stmt) ibm_db.close(conn)</code>
Um die Ausführungszeit der Abfragen zu messen, können wir das Timeit-Modul von Python verwenden.
Timeit verwenden
Schritt 1: Importieren Sie die timeit-Modul
<code class="python">import timeit</code>
Schritt 2: Definieren Sie den Code für die Zeit
Erstellen Sie eine Zeichenfolge oder Funktion, die den Code kapselt, dessen Ausführungszeit gemessen werden muss :
<code class="python">setup_code = """ import ibm_db conn = ibm_db.pconnect("dsn=myDB","usrname","secretPWD") query_stmt = ibm_db.prepare(conn, update) """ code_to_time = """ ibm_db.execute(query_stmt) """</code>
Schritt 3: Konfigurationsparameter festlegen
Geben Sie die Anzahl der Wiederholungen und Iterationen für die Timeit-Funktion an:
<code class="python">repetitions = 5 iterations = 100</code>
Schritt 4: Ausführungszeit messen
<code class="python">timeit_result = timeit.timeit(code_to_time, setup=setup_code, number=iterations, globals=globals())</code>
Schritt 5: Ergebnis ausgeben
<code class="python">print("Execution time:", timeit_result)</code>
Zusätzliche Überlegungen
Durch Befolgen dieser Schritte können Sie Segmente genau timen in Ihre Python-Skripte ein und gewinnen Sie Einblicke in deren Leistungsmerkmale.
Das obige ist der detaillierte Inhalt vonWie kann ich das „timeit'-Modul von Python verwenden, um die Ausführungszeit von Codesegmenten zu messen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!