Chronométrage - préallocation
Dans l’exercice précédent, faire croître le vecteur prenait environ 2 secondes.
Combien de temps cela prend-il lorsque nous préallouons le vecteur ? La fonction pre_allocate() est définie ci-dessous.
n <- 30000
# Fast code
pre_allocate <- function(n) {
x <- numeric(n) # Pre-allocate
for(i in 1:n)
x[i] <- rnorm(1)
x
}
Cet exercice fait partie du cours
Écrire du code R efficace
Instructions
La fonction pre_allocate() est disponible dans votre espace de travail.
- À l’aide de
system.time(), mesurez le temps d’exécution depre_allocate(n). Utilisez l’astuce avec<-pour stocker le résultat dans l’objetres_allocate.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)