CommencezCommencez gratuitement

Mesurer le temps I

Dans les diapositives du cours, vous avez vu comment la fonction time.time() peut être importée et utilisée pour mesurer le temps nécessaire à une opération mathématique de base.

Vous allez maintenant appliquer la même approche pour comparer deux méthodes qui résolvent un problème semblable : calculer la somme des carrés de tous les entiers positifs de 1 à 1 million (1 000 000).

Comme dans la vidéo, vous comparerez deux méthodes : une méthode de force brute et une autre, plus sophistiquée sur le plan mathématique.

Dans la fonction formula, nous utilisons la formule classique

$$ \frac{N*(N+1)(2N+1)}{6} $$

où N = 1 000 000.

Dans la fonction brute_force, nous parcourons chaque nombre de 1 à 1 million et nous l'ajoutons au résultat.

Cette activité fait partie du cours

Rédiger du code efficace avec pandas

Voir le cours

Instructions de l’exercice

  • Calculez le résultat du problème avec la fonction formula().
  • Affichez le temps requis pour calculer le résultat avec la fonction formula().
  • Calculez le résultat du problème avec la fonction brute_force().
  • Affichez le temps requis pour calculer le résultat avec la fonction brute_force().

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Calculate the result of the problem using formula() and print the time required
N = 1000000
fm_start_time = ____
first_method = formula(N)
print("Time using formula: {} sec".format(time.time() - fm_start_time))

# Calculate the result of the problem using brute_force() and print the time required
sm_start_time = ____
second_method = ____(N)
print("Time using the brute force: {} sec".format(time.time() - sm_start_time))
Modifier et exécuter le code