BaşlayınÜcretsiz Başlayın

Zamanlamalar - ön ayırma

Önceki egzersizde, vektörü büyütmek yaklaşık 2 saniye sürmüştü. Peki vektörü önceden ayırdığımızda ne kadar sürer? pre_allocate() fonksiyonu aşağıda tanımlanmıştır.

n <- 30000
# Hızlı kod
pre_allocate <- function(n) {
    x <- numeric(n) # Önceden ayır
    for(i in 1:n) 
        x[i] <- rnorm(1)
    x
}

Bu egzersiz

Verimli R Kodu Yazma

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

pre_allocate() fonksiyonu çalışma alanında hazır.

  • system.time() kullanarak pre_allocate(n) çalıştırmanın ne kadar sürdüğünü bul. Sonucu res_allocate nesnesinde saklamak için <- hilesini kullan.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Use <- with system.time() to store the result as res_allocate
n <- 30000
system.time(___ <- ___)
Kodu Düzenle ve Çalıştır