ÎncepețiÎncepe gratuit

Microbenchmark pentru venituri

Lucrezi ca Analist de Date pentru un magazin online. Ai interogat datele de vânzări pentru diferite produse vândute într-o lună. Acestea sunt disponibile în spațiul tău de lucru ca o listă, ls_sales. Fiecare element al listei este un vector de venituri pentru un anumit produs.

Vrei să urmărești cum au crescut veniturile zi de zi, ceea ce înseamnă calcularea unei sume cumulative. R de bază oferă funcția cumsum() pentru acest lucru. Totuși, vrei să verifici dacă paralelizarea poate ajuta. Intenționezi să aplici cumsum() fiecărui element din ls_sales secvențial și în paralel, apoi să compari rezultatele. Pachetele parallel și microbenchmark au fost deja încărcate pentru tine.

Acest exercițiu face parte din cursul

Programare paralelă în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Transmite versiunile secvențială și paralelă ca argumente unui apel microbenchmark().
  • Generează un cluster cu toate nucleele disponibile minus două.
  • Folosește clusterul pentru a aplica cumsum() pe ls_sales în paralel, utilizând parLapply().
  • Oprește clusterul după ce calculele sunt finalizate.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
___
Editează și rulează codul