Tiempos: preasignación
En el ejercicio anterior, hacer crecer el vector tardó alrededor de 2 segundos.
¿Cuánto tarda si preasignamos el vector? La función pre_allocate() está definida abajo.
n <- 30000
# Fast code
pre_allocate <- function(n) {
x <- numeric(n) # Pre-allocate
for(i in 1:n)
x[i] <- rnorm(1)
x
}
Este ejercicio forma parte del curso
Escribir código R eficiente
Instrucciones del ejercicio
La función pre_allocate() está disponible en tu espacio de trabajo.
- Usando
system.time(), averigua cuánto tarda en ejecutarsepre_allocate(n). Usa el truco con<-para guardar el resultado en el objetores_allocate.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)