IniziaInizia gratis

Microbenchmark dei ricavi

Lavori come Data Analyst per un venditore online. Hai estratto i dati di vendita di diversi prodotti venduti durante un mese. Sono disponibili nel tuo workspace come lista, ls_sales. Ogni elemento di questa lista è un vettore di ricavi per un determinato prodotto.

Vuoi vedere come sono cresciuti i ricavi giorno per giorno. Questo significa calcolare una somma cumulata. Il base R ha una funzione chiamata cumsum() che fa al caso nostro. Ma vuoi capire se la parallelizzazione può aiutare. Vuoi applicare cumsum() a ogni elemento di ls_sales in modo sequenziale e in parallelo e confrontare i risultati. I pacchetti parallel e microbenchmark sono già stati caricati per te.

Questo esercizio fa parte del corso

Programmazione parallela in R

Visualizza il corso

Istruzioni dell'esercizio

  • Passa le versioni sequenziale e parallela come argomenti a una chiamata microbenchmark().
  • Genera un cluster con tutti i core disponibili meno due.
  • Usa il cluster per applicare cumsum() a ls_sales in parallelo usando parLapply().
  • Arresta il cluster una volta terminato il calcolo.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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
___
Modifica ed esegui il codice