LoslegenKostenlos loslegen

Umsätze microbenchmarken

Du arbeitest als Data Analyst bei einem Onlinehändler. Du hast Verkaufsdaten für verschiedene Produkte eines Monats abgefragt. Diese liegen in deinem Workspace als Liste ls_sales vor. Jedes Element dieser Liste ist ein Vektor mit Umsätzen für ein bestimmtes Produkt.

Du möchtest sehen, wie der Umsatz von Tag zu Tag gewachsen ist. Das bedeutet, eine kumulative Summe zu berechnen. In Base R gibt es dafür die Funktion cumsum(). Du möchtest aber prüfen, ob Parallelisierung helfen kann. Du willst cumsum() auf jedes Element von ls_sales einmal sequenziell und einmal parallel anwenden und die Ergebnisse vergleichen. Die Pakete parallel und microbenchmark sind bereits geladen.

Diese Übung ist Teil des Kurses

Paralleles Programmieren in R

Kurs anzeigen

Anleitung zur Übung

  • Übergib die sequenzielle und die parallele Variante als Argumente an einen microbenchmark()-Aufruf.
  • Erzeuge einen Cluster aus allen verfügbaren Kernen minus zwei.
  • Nutze den Cluster, um cumsum() mit parLapply() parallel auf ls_sales anzuwenden.
  • Stoppe den Cluster, sobald die Berechnung abgeschlossen ist.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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
___
Code bearbeiten und ausführen