Microbenchmark des revenus
Vous êtes analyste de données pour un vendeur en ligne. Vous avez extrait les données de ventes pour différents produits vendus au cours d'un mois. Elles sont disponibles dans votre espace de travail sous forme de liste, ls_sales. Chaque élément de cette liste est un vecteur de revenus pour un produit donné.
Vous souhaitez voir l'évolution quotidienne des revenus. Cela signifie calculer une somme cumulative. R de base offre une fonction appelée cumsum() pour faire le travail. Mais vous voulez vérifier si la parallélisation peut aider. Vous voulez appliquer cumsum() à chaque élément de ls_sales de manière séquentielle et en parallèle, puis comparer les résultats. Les packages parallel et microbenchmark ont été chargés pour vous.
Cette activité fait partie du cours
Programmation parallèle en R
Instructions de l’exercice
- Passez les versions séquentielle et parallèle comme arguments à un appel
microbenchmark(). - Générez un groupe de nœuds utilisant tous les cœurs disponibles moins deux.
- Utilisez ce groupe pour appliquer
cumsum()àls_salesen parallèle à l'aide deparLapply(). - Arrêtez le groupe une fois le calcul terminé.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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
___