Kom igångKom igång gratis

Tidsmätning – förallokering

I föregående övning tog det ungefär 2 sekunder att utöka vektorn. Hur lång tid tar det när vi förallokerar vektorn? Funktionen pre_allocate() definieras nedan.

n <- 30000
# Fast code
pre_allocate <- function(n) {
    x <- numeric(n) # Pre-allocate
    for(i in 1:n) 
        x[i] <- rnorm(1)
    x
}

Den här övningen är en del av kursen

Effektiv R-kod

Visa kurs

Övningsinstruktioner

Funktionen pre_allocate() finns tillgänglig i din arbetsmiljö.

  • Använd system.time() för att mäta hur lång tid det tar att köra pre_allocate(n). Använd <--tricket för att spara resultatet i objektet res_allocate.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)
Redigera och kör kod