ComenzarEmpieza gratis

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

Ver curso

Instrucciones del ejercicio

La función pre_allocate() está disponible en tu espacio de trabajo.

  • Usando system.time(), averigua cuánto tarda en ejecutarse pre_allocate(n). Usa el truco con <- para guardar el resultado en el objeto res_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(___ <- ___)
Editar y ejecutar código