Gelirleri mikro karşılaştır
Bir çevrimiçi satıcı için Veri Analisti olarak çalışıyorsun. Bir ay boyunca satılan farklı ürünlere ait satış verilerini sorguladın. Bu veriler çalışma alanında ls_sales adlı bir liste olarak mevcut. Listenin her bir öğesi, belirli bir ürünün gelirlerini içeren bir vektördür.
Gelirin gün gün nasıl arttığını görmek istiyorsun. Bunun için kümülatif toplam hesaplamak gerekiyor. Temel R, bu işi yapmak için cumsum() adlı bir fonksiyona sahip. Ama paralelleştirmenin yardımcı olup olmayacağını görmek istiyorsun. cumsum() fonksiyonunu ls_sales listesinin her bir öğesine sırasıyla ve paralel olarak uygulayıp sonuçları karşılaştırmak istiyorsun. parallel ve microbenchmark paketleri senin için yüklendi.
Bu egzersiz, kursun bir parçasıdır
R'da Paralel Programlama
Egzersiz talimatları
- Sıralı ve paralel sürümleri bir
microbenchmark()çağrısına argüman olarak geçir. - Mevcut tüm çekirdeklerin eksi iki olacak şekilde bir küme (cluster) oluştur.
- Küme ile
parLapply()kullanarakcumsum()fonksiyonunuls_salesüzerinde paralel uygula. - Hesaplama bittiğinde kümeyi durdur.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Pass the code to microbenchmark
___
"lapply" = lapply(ls_sales, cumsum),
"parLapply" = {
# Make a cluster of all cores minus two
cluster <- ___
# Use cluster to apply in parallel
parLapply(cluster, ___, ___)
# Stop cluster
___
},
times = 3
___