Fonctions de minuterie en Python

Lakshay Kapoor 30 janvier 2023
  1. Utilisation de la fonction time.time() en Python
  2. Utilisation de la fonction time.Process_time() en Python
  3. Utilisation de la fonction time.Perf_counter en Python
  4. Utilisation de la fonction time.monotonic() en Python
Fonctions de minuterie en Python

Python est un langage de programmation très vaste qui est très utilisé dans le monde entier. Les programmeurs créent de nombreux programmes qui nécessitent une quantité considérable de lignes de code python. Pour surveiller et analyser ces codes en fonction du temps d’exécution, nous pouvons utiliser les fonctions de minuterie Python.

Le module time est ici le plus important car il contient toutes les fonctions permettant de contrôler l’heure et de l’analyser.

Dans ce didacticiel, nous aborderons diverses fonctions Python Timer à l’aide du module time.

Utilisation de la fonction time.time() en Python

Cette fonction renvoie le temps en secondes. Ce sont les secondes qui passent après l’époque - 1er janvier 1970, 00:00:00 (UTC). Cette fonction utilise l’heure définie par le système informatique pour renvoyer la sortie, c’est-à-dire le nombre de secondes.

Exemple:

import time

start = time.time()

for r in range(1, 20000):
    pass

end = time.time()
print(format(end - start))

Entre start et end, vient le corps principal du code. Ici, une boucle for est prise comme exemple.

Production:

3.252345085144043

Notez que la sortie, c’est-à-dire les secondes, est une valeur flottante.

Utilisation de la fonction time.Process_time() en Python

Cette fonction renvoie le temps en fractions de seconde. La référence temporelle de l’ensemble du processus est également enregistrée dans la fonction et pas seulement le temps écoulé pendant le processus.

Exemple:

from time import process_time, sleep

start = process_time()

for r in range(20):
    print(r, end=" ")

end = process_time()
print(end, start)
print(end - start)

Production:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 10.756645 10.75523
0.0014150000000014984

Le temps pris dans time.sleep() n’est pas mesuré par cette fonction, ce qui signifie qu’elle ne mesure que la différence de temps entre deux références temporelles consécutives.

Utilisation de la fonction time.Perf_counter en Python

Également connue sous le nom de compteur de performances, cette fonction permet d’obtenir le décompte du temps entre deux références de manière plus précise. Cette fonction ne doit être appliquée qu’aux petits processus car elle est très précise.

Nous pouvons également utiliser time.sleep() entre cette fonction. Par cette fonction, l’exécution du code peut être suspendue pendant plusieurs secondes. La fonction sleep() prend une valeur flottante comme argument.

Exemple:

from time import perf_counter, sleep

n = 10
start = perf_counter()

for r in range(n):
    sleep(2)

end = perf_counter()

print(end - start)

Production:

20.03540569800043

La valeur renvoyée indique le temps total écoulé. Comme la fonction sleep est définie sur 2, il a fallu 20,035 secondes pour terminer l’ensemble du processus où la valeur d’entrée était de 10.

Utilisation de la fonction time.monotonic() en Python

Si l’utilisateur modifie l’heure lors de l’exécution d’un code python, cela peut faire une énorme différence lors de l’implémentation de la fonction de minuterie en Python. Dans cette situation, la fonction minuterie monotone fait en sorte que les références temporelles s’adaptent en fonction des modifications apportées par l’utilisateur en externe.

Exemple:

from time import monotonic, sleep

n = 10
start = monotonic()

for r in range(n):
    sleep(2)

end = monotonic()

print(end - start)

Production:

20.029595676999634

Les références de début et de fin assurent que le programme s’adapte à toute modification apportée par l’utilisateur.

Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

Article connexe - Python Timer