ÎncepețiÎncepe gratuit

Timings - pre-alocare

În exercițiul anterior, creșterea vectorului a durat aproximativ 2 secunde. Cât timp durează dacă pre-alocăm vectorul? Funcția pre_allocate() este definită mai jos.

n <- 30000
# Cod rapid
pre_allocate <- function(n) {
    x <- numeric(n) # Pre-alocare
    for(i in 1:n) 
        x[i] <- rnorm(1)
    x
}

Acest exercițiu face parte din cursul

Scrierea codului R eficient

Vezi cursul

Instrucțiuni pentru exercițiu

Funcția pre_allocate() este disponibilă în spațiul tău de lucru.

  • Folosind system.time(), măsoară cât timp durează rularea funcției pre_allocate(n). Folosește trucul cu <- pentru a salva rezultatul în obiectul res_allocate.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)
Editează și rulează codul