Zacznij terazZacznij za darmo

Mikrobenchmark przychodów

Pracujesz jako analityk danych w sklepie internetowym. Pobrałeś dane sprzedażowe różnych produktów sprzedanych w ciągu miesiąca. Są one dostępne w twoim środowisku jako lista ls_sales. Każdy element tej listy to wektor przychodów dla danego produktu.

Chcesz zobaczyć, jak przychody rosły z dnia na dzień – oznacza to obliczenie sumy skumulowanej. Bazowy R udostępnia do tego funkcję cumsum(). Chcesz jednak sprawdzić, czy zrównoleglenie może tu pomóc. Zamierzasz zastosować cumsum() do każdego elementu ls_sales sekwencyjnie i równolegle, a następnie porównać wyniki. Pakiety parallel i microbenchmark są już wczytane.

To ćwiczenie jest częścią kursu

Programowanie równoległe w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Przekaż sekwencyjną i równoległą wersję jako argumenty do wywołania microbenchmark().
  • Utwórz klaster wykorzystujący wszystkie dostępne rdzenie minus dwa.
  • Użyj klastra, aby zastosować cumsum() do ls_sales równolegle za pomocą parLapply().
  • Zatrzymaj klaster po zakończeniu obliczeń.

Interaktywne ćwiczenie praktyczne

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

# 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
___
Edytuj i uruchom kod