Maison >développement back-end >Tutoriel Python >Comment le module « timeit » de Python peut-il aider à comparer les performances des algorithmes ?

Comment le module « timeit » de Python peut-il aider à comparer les performances des algorithmes ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-03 02:47:11225parcourir

How Can Python's `timeit` Module Help Compare Algorithm Performance?

Comparaison des performances de l'algorithme avec Timeit

Le module timeit fournit un moyen pratique de mesurer et de comparer le temps d'exécution de différentes fonctions ou extraits de code. Voici comment utiliser ce module pour comparer les performances de vos propres algorithmes, tels que "insertion_sort" et "tim_sort" :

Session Python interactive

Pour une session interactive Session Python, vous pouvez utiliser IPython ou l'interpréteur Python standard.

Utilisation d'IPython Shell

IPython propose la fonction %timeit :

def insertion_sort(arr):
    # Your implementation of insertion sort

def tim_sort(arr):
    # Your implementation of tim sort

%timeit for x in range(100): insertion_sort(x)
%timeit for x in range(100): tim_sort(x)

Cela affiche le temps d'exécution de chaque algorithme en microsecondes.

Utilisation de l'interpréteur Python standard

Importez vos fonctions depuis __main__ dans la configuration déclaration :

def insertion_sort(arr):
    # Your implementation of insertion sort

def tim_sort(arr):
    # Your implementation of tim sort

import timeit
timeit.repeat("for x in range(100): insertion_sort(x)", "from __main__ import insertion_sort",
              number=100000)
timeit.repeat("for x in range(100): tim_sort(x)", "from __main__ import tim_sort",
              number=100000)

Cela renvoie une liste des temps d'exécution pour chaque algorithme.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn