Mesurer un temps d'exécution
Chronométrer un code : prises de temps avant et après, répétition, bruit de mesure, mesures pour plusieurs tailles, lecture de l'ordre de grandeur et pièges qui faussent une mesure.
- 26 cartes
- 6 thèmes
- Gratuit
Le programme, thème par thème
Le poids de chaque thème suit celui que lui donne l'examen.
- Notions
- Questions
- Les chiffres
- Les courbes
- Mises en situation
- Comprendre
Quelques cartes du deck
Banc d'essai (benchmark) : de quoi s'agit-il ?
Voir la réponse
Exécution d'un code dans des conditions contrôlées, pour mesurer sa durée et la comparer à celle d'autres codes ou d'autres tailles de données.
Seul le code visé doit être chronométré : ni la création des données, ni l'affichage du résultat.
Que contient la variable
duree?
```python
from time import perf_counter
t = [5, 3, 8, 1]
debut = perf_counter()
t.sort()
fin = perf_counter()
duree = fin - debut`- La durée du tri en secondes, sous forme de nombre à virgule
- Le nombre d'opérations que le tri a exécutées pendant l'intervalle
- La durée du tri en millisecondes, sous forme d'entier arrondi
- L'heure à laquelle le tri s'est terminé, exprimée en secondes depuis minuit
Voir la réponse
La durée du tri en secondes, sous forme de nombre à virgule
perf_counter()n'a pas de point de départ défini : une lecture seule n'a aucun sens. Leur différence est une durée en secondes, avec les décimales. Un nombre d'opérations ne se mesure pas avec une horloge.Pour chronométrer un code en Python, on lit l'horloge avec time.perf_counter() … et … le code, puis on calcule la différence des deux lectures.
Voir la réponse
Pour chronométrer un code en Python, on lit l'horloge avec time.perf_counter() avant et après le code, puis on calcule la différence des deux lectures.
perf_counter()renvoie la valeur d'un compteur en secondes, avec une résolution élevée. Seule la différence entre deux lectures a un sens, pas la valeur d'une lecture isolée.Temps d'exécution : de quoi s'agit-il ?
Voir la réponse
Durée écoulée entre le début et la fin d'un calcul, qui dépend de la machine, du langage et des données.
Contrairement au nombre d'opérations, il change d'une machine à l'autre. On le mesure en secondes, par exemple avec
time.perf_counter().