Měření času – předalokace
V předchozím cvičení trvalo rozrůstání vektoru přibližně 2 sekundy.
Jak dlouho to trvá, když vektor předalokujeme? Funkce pre_allocate() je definovaná níže.
n <- 30000
# Rychlý kód
pre_allocate <- function(n) {
x <- numeric(n) # Předalokace
for(i in 1:n)
x[i] <- rnorm(1)
x
}
Toto cvičení je součástí kurzu
Efektivní kód v R
Pokyny k cvičení
Funkce pre_allocate() je dostupná v tvém pracovním prostředí.
- Pomocí
system.time()zjisti, jak dlouho trvá spuštěnípre_allocate(n). Trik s<-použij k uložení výsledku do objektures_allocate.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)