Zacznij terazZacznij za darmo

Pomiar czasu – wstępna alokacja

W poprzednim ćwiczeniu rozbudowywanie wektora zajęło około 2 sekund. Ile czasu zajmie to samo z wcześniejszą alokacją wektora? Poniżej zdefiniowana jest funkcja pre_allocate().

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

To ćwiczenie jest częścią kursu

Wydajny kod w R

Zobacz kurs

Instrukcje do ćwiczenia

Funkcja pre_allocate() jest dostępna w twoim środowisku roboczym.

  • Używając system.time(), sprawdź, ile czasu zajmuje uruchomienie pre_allocate(n). Zastosuj trick z <-, aby zapisać wynik w obiekcie res_allocate.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)
Edytuj i uruchom kod