CommencerCommencer gratuitement

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

Afficher le cours

Instructions

La fonction pre_allocate() est disponible dans votre espace de travail.

  • À l’aide de system.time(), mesurez le temps d’exécution de pre_allocate(n). Utilisez l’astuce avec <- pour stocker le résultat dans l’objet res_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(___ <- ___)
Modifier et exécuter le code