Comment utiliser le module timeit pour tester les performances du code dans Python 3.x
Introduction :
Lors du développement et de l'optimisation de programmes Python, nous devons souvent évaluer les performances de différents segments de code. Les tests de performances peuvent nous aider à identifier les goulots d'étranglement dans le code et fournir la base de différentes stratégies d'optimisation. Python fournit le module timeit pour tester le temps d'exécution de petits segments de code et comparer l'efficacité des différentes implémentations. Cet article explique comment utiliser le module timeit pour tester les performances du code et fournit quelques exemples d'applications courantes.
Utilisation de base du module timeit : Le module
timeit fournit une interface simple et facile à utiliser pour mesurer le temps d'exécution des fragments de code. Dans l'interpréteur interactif Python, nous pouvons utiliser le module timeit pour exécuter du code via la ligne de commande. Voici un exemple d'utilisation de base du module timeit :
import timeit code = ''' a = 1 b = 2 c = a + b ''' time = timeit.timeit(stmt=code, number=100000) print(f'执行时间:{time} 秒')
Dans l'exemple ci-dessus, nous avons défini un simple extrait de code qui exécute trois instructions, ajoute a et b et attribue le résultat à c. La fonction timeit.timeit() permet de mesurer le temps d'exécution d'un fragment de code. Parmi eux, le paramètre stmt accepte le fragment de code à exécuter, et le paramètre number indique le nombre de fois que le fragment de code sera exécuté. Enfin, nous imprimons le temps d'exécution à l'aide de la fonction print().
Exécutez le script dans la ligne de commande, nous verrons un résultat similaire à celui-ci :
执行时间:0.006017888000006268 秒
L'unité de temps d'exécution ici est la seconde. Dans le cas d’une seule exécution, on observe généralement des intervalles de temps plus petits. Pour mesurer plus précisément le temps d'exécution d'un fragment de code, le module timeit exécute le code plusieurs fois et calcule le temps d'exécution moyen. Par défaut, il exécute l'extrait de code 7 fois et fait la moyenne des trois meilleurs résultats.
En plus d'utiliser le module timeit via la ligne de commande, nous pouvons également utiliser le module timeit directement dans les programmes Python. Voici un exemple :
import timeit code = ''' a = 1 b = 2 c = a + b ''' time = timeit.timeit(stmt=code, number=100000) print(f'执行时间:{time} 秒')
Dans cet exemple, nous avons défini l'extrait de code de la même manière et mesuré le temps d'exécution via la fonction timeit.timeit(). Le résultat que nous obtenons est le même que celui de l’exemple précédent.
Utilisation avancée du module timeit :
En plus de l'utilisation de base, le module timeit fournit également des fonctions avancées pour un contrôle plus précis du processus de test de performances.
import timeit code = ''' a = 1 b = 2 c = a + b ''' timer = timeit.Timer(stmt=code) time = timer.timeit(number=100000) print(f'执行时间:{time} 秒')
Dans cet exemple, nous créons d'abord un timer d'objet Timer et lui transmettons l'extrait de code. Nous utilisons ensuite la méthode timer.timeit() pour mesurer le temps d'exécution. Comme vous pouvez le voir, le résultat est le même que dans l’exemple précédent.
import timeit code1 = ''' a = 1 b = 2 c = a + b ''' code2 = ''' a = 1 b = 2 c = a * b ''' time1 = timeit.timeit(stmt=code1, number=100000) time2 = timeit.timeit(stmt=code2, number=100000) print(f'执行时间1:{time1} 秒') print(f'执行时间2:{time2} 秒')
Dans cet exemple, nous définissons deux extraits de code code1 et code2, qui calculent respectivement les résultats de a + b et a * b. En appelant respectivement la fonction timeit.timeit(), nous obtenons le temps d'exécution des deux extraits de code. Comme vous pouvez le voir, les résultats de sortie affichent respectivement le temps d'exécution des deux extraits de code.
Grâce à ces paramètres, nous pouvons contrôler le processus de test du module timeit de manière plus flexible. Par exemple, nous pouvons utiliser le paramètre -n pour spécifier le nombre de fois que l'extrait de code est exécuté afin d'obtenir un temps d'exécution plus précis. Par exemple, voici un exemple :
import timeit code = ''' a = 1 b = 2 c = a + b ''' time = timeit.timeit(stmt=code, number=10000) print(f'执行时间:{time} 秒')
Dans cet exemple, nous utilisons le paramètre -n pour spécifier que l'extrait de code doit être exécuté 10 000 fois pour obtenir un temps d'exécution plus précis.
Conclusion :
Avec le module timeit, nous pouvons facilement effectuer des tests de performances du code Python. Il offre une utilisation simple et avancée pour répondre à différents besoins de tests. Que ce soit en ligne de commande ou au sein d'un programme Python, l'utilisation du module timeit pour les tests de performances est un outil puissant pour développer et optimiser des programmes Python. J'espère que le contenu de cet article vous sera utile.
Référence :
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!