CommencerCommencer gratuitement

Mesurer le temps I

Dans les diaporamas du cours, vous avez vu comment la fonction time.time() peut être importée et utilisée pour évaluer le temps nécessaire à l’exécution d’une opération mathématique basique.

Vous allez maintenant utiliser la même stratégie pour évaluer deux méthodes différentes visant à résoudre un problème similaire : 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 : l’une par force brute, l’autre plus élaboré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 l’ajoutons au résultat.

Cet exercice fait partie du cours

Écrire du code efficace avec pandas

Afficher le cours

Instructions

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

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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