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
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()pels_salesîn paralel, utilizândparLapply(). - 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
___