CommencezCommencez gratuitement

Comment le temps de traitement varie-t-il selon la taille des données ?

Si vous traitez tous les éléments de deux ensembles de données et que l'un des deux est plus volumineux, ce dernier prendra plus de temps à traiter. Toutefois, il est important de comprendre que le temps supplémentaire requis n'est pas toujours directement proportionnel à l'augmentation de la taille. Autrement dit, si vous avez deux ensembles de données et que l'un est deux fois plus gros que l'autre, rien ne garantit qu'il prendra deux fois plus de temps à traiter. Cela pourrait prendre 1,5 fois plus de temps, voire quatre fois plus. Tout dépend des opérations utilisées pour traiter l'ensemble de données.

Dans cet exercice, vous utiliserez le paquet microbenchmark, présenté dans le cours Writing Efficient R Code.

Remarque : les nombres sont indiqués en notation scientifique $$1e5 = 1 * 10^5 = 100,000$$

Cette activité fait partie du cours

Traitement de données évolutif en R

Voir le cours

Instructions de l’exercice

  • Chargez le paquet microbenchmark.
  • Utilisez la fonction microbenchmark() pour comparer les temps de tri de vecteurs aléatoires.
  • Appelez plot() sur mb.

Exercice interactif pratique

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

# Load the microbenchmark package
___

# Compare the timings for sorting different sizes of vector
mb <- ___(
  # Sort a random normal vector length 1e5
  "1e5" = sort(rnorm(1e5)),
  # Sort a random normal vector length 2.5e5
  "2.5e5" = sort(rnorm(2.5e5)),
  # Sort a random normal vector length 5e5
  "5e5" = sort(rnorm(5e5)),
  "7.5e5" = sort(rnorm(7.5e5)),
  "1e6" = sort(rnorm(1e6)),
  times = 10
)

# Plot the resulting benchmark object
___(mb)
Modifier et exécuter le code