Wie kann das Python-Modul „timeit' verwendet werden, um die Codeausführungszeit effektiv zu messen?

Mary-Kate Olsen
Freigeben: 2024-11-05 05:29:02
Original
554 Leute haben es durchsucht

How can Python's `timeit` module be used to measure code execution time effectively?

Leistungstests mit Pythons timeit: Eine Schritt-für-Schritt-Anleitung

Um die Ausführungszeit eines bestimmten Codesegments zu bestimmen, bietet Python an das Timeit-Modul. Sehen wir uns an, wie man es effektiv nutzt.

Betrachten Sie das folgende Python-Skript, das eine Datenbanktabelle aktualisiert:

<code class="python">import time
import random
import ibm_db

# Open a file for writing results
myfile = open("results_update.txt", "a")

# Create a database connection
conn = ibm_db.pconnect("dsn=myDB", "usrname", "secretPWD")

# Prepare a parameterized update statement
query_stmt = ibm_db.prepare(conn, "update TABLE set val = ? where MyCount >= '2010' and MyCount < '2012' and number = '250'")

# Execute the update statement 100 times with different random values
for r in range(100):
    rannumber = random.randint(0, 100)
    params = [rannumber]
    ibm_db.execute(query_stmt, params)
    myfile.write(str(rannumber) + "\n")

# Close the file and connection
myfile.close()
ibm_db.close(conn)
Nach dem Login kopieren

Um die Ausführung der inneren Schleife zu timen, können wir time.time( ) oder time.clock(), die die aktuelle Zeit in Sekunden zurückgeben:

<code class="python">t0 = time.time()  # Start time

# Code to be timed

t1 = time.time()  # End time

total = t1 - t0
Nach dem Login kopieren

Timeit bietet jedoch einen umfassenderen Ansatz, der mehrere Läufe mitteln und genauere Ergebnisse liefern kann:

<code class="python">import timeit

setup = """
import random
import ibm_db

conn = ibm_db.pconnect("dsn=myDB", "usrname", "secretPWD")
query_stmt = ibm_db.prepare(conn, "update TABLE set val = ? where MyCount >= '2010' and MyCount < '2012' and number = '250'")
params = [12]
"""

code = """
ibm_db.execute(query_stmt, params)
"""

timeit.Timer(code, setup).timeit(number=100)  # Run the code 100 times</code>
Nach dem Login kopieren

In diesem Code enthält die Setup-Variable den Code, der vor jedem Lauf ausgeführt werden muss, z. B. das Initialisieren der Datenbankverbindung und das Vorbereiten der Anweisung. Die Codevariable enthält den zu timenden Code. Das Zahlenargument gibt an, wie oft der Code ausgeführt werden soll.

Durch die Verwendung des timeit-Moduls können Sie präzise und zuverlässige Messungen der Codeausführungszeiten erhalten und so die Leistung Ihrer Python-Anwendungen optimieren und überwachen .

Das obige ist der detaillierte Inhalt vonWie kann das Python-Modul „timeit' verwendet werden, um die Codeausführungszeit effektiv zu messen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage