Heim > Artikel > Backend-Entwicklung > Wie kann das Python-Modul „timeit“ verwendet werden, um die Codeausführungszeit effektiv zu messen?
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)
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
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>
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!