CommencerCommencer gratuitement

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

Si vous traitez tous les éléments de deux jeux de données et que l’un est plus grand, alors le plus grand prendra plus de temps à traiter. Toutefois, il est important de comprendre que la durée supplémentaire n’est pas toujours directement proportionnelle à l’augmentation de la taille. Autrement dit, si vous avez deux jeux de données et que l’un fait deux fois la taille de l’autre, il n’est pas garanti que le plus grand prendra deux fois plus de temps à traiter. Il pourrait prendre 1,5 fois plus de temps, voire quatre fois plus. Cela dépend des opérations utilisées pour traiter le jeu de données.

Dans cet exercice, vous allez utiliser le package 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$$

Cet exercice fait partie du cours

Traitement de données à grande échelle en R

Afficher le cours

Instructions

  • Chargez le package 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 cet exemple de code.

# 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