CommencerCommencer gratuitement

Microbenchmark des revenus

Vous êtes Data Analyst pour un vendeur en ligne. Vous avez extrait des données de ventes pour différents produits vendus durant un mois. Elles sont disponibles dans votre espace de travail sous forme d’une liste, ls_sales. Chaque élément de cette liste est un vecteur de revenus pour un produit donné.

Vous souhaitez visualiser l’évolution du chiffre d’affaires jour après jour. Cela signifie calculer une somme cumulée. Le R de base propose la fonction cumsum() pour cela. Mais vous voulez voir si la parallélisation peut aider. Vous allez appliquer cumsum() à chaque élément de ls_sales de façon séquentielle puis en parallèle et comparer les résultats. Les packages parallel et microbenchmark ont été chargés pour vous.

Cet exercice fait partie du cours

Programmation parallèle en R

Afficher le cours

Instructions

  • Passez les versions séquentielle et parallèle en arguments d’un appel à microbenchmark().
  • Générez un cluster de tous les cœurs disponibles moins deux.
  • Utilisez le cluster pour appliquer cumsum() à ls_sales en parallèle avec parLapply().
  • Arrêtez le cluster une fois le calcul terminé.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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
___
Modifier et exécuter le code