Adloun

Mesurer le temps d'une simulation

Exercice supplémentaire · niveau 2 · sciences numériques et technologie (seconde), chapitre 7 — Projets et mini-jeux · Le jeu du 20 (dés)

Énoncé

Avec le module time, mesurer combien de temps prennent parties du jeu du 20, puis . Le temps est-il proportionnel ? Qu'en déduire avant de lancer une grosse simulation ?

Corrigé

import time

for N in [100000, 1000000]:
    debut = time.time()
    for i in range(N):
        partie(20)
    print(N, round(time.time() - debut, 2), "s")

Le temps est proportionnel à : dix fois plus de parties, dix fois plus de temps. Chaque partie est indépendante et coûte le même travail moyen.

Ce qu'il faut en retenir avant une grosse simulation : mesurer sur un petit , puis extrapoler. Si parties prennent secondes, en prendront , soit plus d'une demi-heure — et il vaut mieux le savoir avant de lancer que pendant.

À rapprocher du : le temps croît linéairement tandis que la précision ne gagne qu'une racine carrée. Multiplier le temps par ne divise l'erreur que par .

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.