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
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țieipre_allocate(n). Folosește trucul cu<-pentru a salva rezultatul în obiectulres_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(___ <- ___)