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
Instructions
- Chargez le package
microbenchmark. - Utilisez la fonction
microbenchmark()pour comparer les temps de tri de vecteurs aléatoires. - Appelez
plot()surmb.
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)