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

microbenchmark ile karşılaştırma

Rcpp paketinin ana motivasyonu performans olduğundan, kodunun çalışmasının ne kadar sürdüğünü doğru biçimde ölçebilmen gerekir. Bu amaçla microbenchmark paketindeki microbenchmark() fonksiyonunu kullanacaksın.

microbenchmark(), bağımsız değişken olarak adlandırılmış ifadeler alır, her ifadeyi verilen sayıda (varsayılan olarak 100) rastgele bir sırayla çalıştırır ve özet istatistikler döndürür. Bu derste yalnızca median sütunuyla ilgileneceğiz.

Çalışma alanında, 100.000 standart normal rassal sayıdan oluşan bir x vektörü hazır durumda.

Bu egzersiz, kursun bir parçasıdır

Rcpp ile R Kodunu Optimize Etme

Kursa Göz Atın

Egzersiz talimatları

  • microbenchmark paketini yükle.
  • Bir R for döngüsü kullanarak bir vektördeki tüm öğelerin toplamını hesaplayan sum_loop() fonksiyonunu yaz.
  • sum() fonksiyonuyla aynı sonucu aldığını all.equal() fonksiyonunu kullanarak doğrula.
  • Performansı microbenchmark() ile karşılaştır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Load microbenchmark
___

# Define the function sum_loop
sum_loop <- function(x) {
  result <- 0
  ___
  result
}

# Check for equality 
___(sum_loop(x), sum(x))

# Compare the performance
___(sum_loop = sum_loop(x), R_sum = sum(x))
Kodu Düzenle ve Çalıştır