Mesurer le temps d'exécution avec Pythons timeit pour les tests de performances
Pour évaluer les performances du code Python, les développeurs doivent souvent mesurer son temps d'exécution. Cet article explore le module Python timeit et démontre son utilisation pour les tests de performances.
Configuration
Le script Python fourni parcourt une boucle et exécute une instruction de mise à jour SQL. Pour mesurer le temps nécessaire à chaque itération, nous pouvons utiliser le module timeit.
Solution
Le module timeit offre un mécanisme intuitif pour le timing du code. Il exécute l'extrait de code donné plusieurs fois pour obtenir des mesures précises. Voici un exemple :
<code class="python">import timeit # Code snippet to be timed code = """ update TABLE set val = {rannumber} where MyCount >= '2010' and MyCount < '2012' and number = '250' """.format(rannumber=random.randint(0, 100)) # Set the number of repetitions and warmup iterations reps = 5 warmup_time = 2 # Measure the execution time result = timeit.timeit(code, number=reps, repeat=1, warmup=warmup_time) # Output the result print("Execution time: {:.6f} seconds".format(result))</code>
Dans ce code, la fonction timeit exécute les répétitions de l'extrait de code, avec une période de préchauffage d'itérations warmup_time. L'option nombre = 1 garantit que le code n'est exécuté qu'une seule fois (pour éviter que les répétitions ne faussent les résultats).
Approches alternatives
Si timeit ne convient pas, alternative les méthodes incluent l’utilisation de time.time() ou time.clock(). Bien que ces méthodes manquent de précision, elles sont plus simples à mettre en œuvre. Voici un exemple avec time.time() :
<code class="python">import time # Get the start time start_time = time.time() # Execute the code # ... # Get the end time end_time = time.time() # Calculate the execution time execution_time = end_time - start_time # Output the result print("Execution time: {:.6f} seconds".format(execution_time))</code>
Conclusion
Le module timeit est un outil précieux pour mesurer précisément le temps d'exécution du code Python. En spécifiant le nombre de répétitions et d'itérations d'échauffement, timeit fournit des mesures de performances fiables. Pour un timing moins précis, pensez à utiliser time.time() ou time.clock().
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!