Začněte nyníZačněte zdarma

Microbenchmark tržeb

Pracuješ jako datový analytik pro internetového prodejce. Dotázal/a sis prodejní data pro různé produkty za jeden měsíc. V pracovním prostředí je máš k dispozici jako seznam ls_sales. Každý prvek tohoto seznamu je vektor tržeb pro daný produkt.

Chceš sledovat, jak tržby rostly den po dni – k tomu se hodí kumulativní součet. Základní R nabízí funkci cumsum(), která to zvládne. Zajímá tě ale, jestli by pomohla paralelizace. Chceš proto aplikovat cumsum() na každý prvek seznamu ls_sales sekvenčně i paralelně a výsledky porovnat. Balíčky parallel a microbenchmark jsou už načtené.

Toto cvičení je součástí kurzu

Paralelní programování v R

Zobrazit kurz

Pokyny k cvičení

  • Předej sekvenční a paralelní verzi jako argumenty volání microbenchmark().
  • Vytvoř cluster ze všech dostupných jader minus dvě.
  • Pomocí tohoto clusteru aplikuj cumsum() na ls_sales paralelně s využitím parLapply().
  • Po dokončení výpočtu cluster zastav.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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
___
Upravit a spustit kód