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.

  1. Notions
  2. Questions
  3. Les chiffres
  4. Les courbes
  5. Mises en situation
  6. 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().