Python

module de temps en python

module de temps en python

La programmation ne consiste pas seulement à accomplir une tâche et à obtenir un résultat que nous voulions obtenir. Il s'agit également de la vitesse à laquelle un programme s'exécute et s'exécute afin d'obtenir le résultat souhaité. Avec la plupart des langages de programmation, il n'est pas facile de comparer la vitesse d'exécution d'un programme et il n'est jamais facile de chronométrer un morceau de code particulier pour comprendre quelle partie de notre code prend le plus de temps à s'exécuter. C'est le problème qui est résolu par le Python le temps module.

module timeit Python

Python le temps module nous permet de chronométrer le temps d'exécution d'un morceau de code sans prendre en compte les processus d'arrière-plan qui sont exécutés pour rendre un code exécutable. Si vous avez besoin de mesures légèrement précises des performances de votre code le temps est le module qu'il faut.

timeit exemple simple

Nous allons commencer par utiliser le module timeit directement depuis l'invite de commande. Le module timeit peut être utilisé directement à partir de la CLI où nous pouvons entrer une simple instruction de boucle et la chronométrer à l'aide de la commande affichée :

$ python --version
$ python -m heureit '"&".join(str(n) for n in range(1000))'
$ python -m heureit '"&".join([str(n) pour n dans la plage(1000)])'
$ python -m heureit '"&".join(map(str, range(1000)))'

Voici ce que nous obtenons avec cette commande :

Heure d'exécution de la CLI à l'aide de timeit

Dans l'une des sections suivantes, nous apprendrons comment gérer le nombre de boucles effectuées pour trouver le nombre optimal pour l'exécution d'une expression donnée.

Chronométrer un morceau de code

Si vous avez un script python de base pour lequel vous souhaitez mesurer le temps, le module timeit est la solution :

heure d'importation
# le code d'installation n'est exécuté qu'une seule fois
setup_code = "depuis math import sqrt"
# extrait de code principal pour le contrôle des performances
code_to_measure = "'
exemple de def() :
ma liste = []
pour x dans la plage (100) :
ma liste.ajouter(sqrt(x))
'"
# déclaration de temps
print(timeit.timeit(setup = setup_code,
stmt = code_to_measure,
nombre = 10000))

Voyons le résultat de cette commande :

Chronométrer une boucle

Dans ce code, nous avons également vu comment contrôler le nombre de répétitions que le module timeit effectuera pour trouver le meilleur moment d'exécution pour le programme.

Mesurer le temps pour le code multiligne de la CLI

Nous pouvons également mesurer le temps pour le code qui s'étend sur plusieurs lignes dans la CLI Python. Regardons un exemple de programme pour voir ceci :

$ python -m heureit -s \
> "linuxhint = " \
> "pour n dans la plage(1000):" \
> " linuxhint[chaîne(n)] = n"

Voici ce que nous obtenons avec cette commande :

Code multiligne de synchronisation sur CLI

Comparer généralement deux blocs de code

Si vous ne voulez pas vous soucier de l'utilisation de l'interface de ligne de commande et que vous souhaitez simplement comparer deux programmes Python afin de savoir lequel s'exécute le plus rapidement, il existe un moyen assez simple d'y parvenir :

heure d'importation
start = timeit.default_timer()
funcOne()
print(timeit.default_timer() - démarrer)
start = timeit.default_timer()
funcDeux()
print(timeit.default_timer() - démarrer)

En utilisant la fonction default_timer(), nous recommençons les temps encore et encore pour trouver une différence pour le même quand il a été démarré pour la dernière fois. Cela ne peut être utilisé que lorsque vous avez un bon style d'écriture de code modulaire afin que chaque morceau de code puisse être mesuré séparément.

Conclusion

Dans cette leçon, nous avons étudié comment nous pouvons chronométrer notre code en Python et voir leur complexité temporelle et leur efficacité et travailler dessus si le code est trop lent.

Examen de la souris sans fil Microsoft Sculpt Touch
J'ai lu récemment sur le Microsoft Sculpt Touch souris sans fil et j'ai décidé de l'acheter. Après l'avoir utilisé pendant un certain temps, j'ai déci...
Trackpad et pointeur de souris à l'écran AppyMouse pour tablettes Windows
Les utilisateurs de tablettes ratent souvent le pointeur de la souris, surtout lorsqu'ils ont l'habitude d'utiliser les ordinateurs portables. Les sma...
Le bouton central de la souris ne fonctionne pas sous Windows 10
le bouton central de la souris vous aide à faire défiler de longues pages Web et des écrans contenant beaucoup de données. Si cela s'arrête, et bien v...