Ingresos del microbenchmark
Trabajas como Analista de Datos para un vendedor online. Has consultado los datos de ventas de diferentes productos vendidos durante un mes. Esto está disponible en tu espacio de trabajo en forma de lista, ls_sales. Cada elemento de esta lista es un vector de ingresos para un producto determinado.
Te gustaría ver cómo crecían los ingresos día a día. Esto significa calcular una suma acumulativa. Base R tiene una función llamada cumsum() para hacer el trabajo. Pero te gustaría ver si la paralelización puede ayudar. Quieres aplicar cumsum() a cada elemento de ls_sales secuencialmente y en paralelo y comparar los resultados. Se han cargado para ti los paquetes parallel y microbenchmark.
Este ejercicio forma parte del curso
Programación paralela en R
Instrucciones del ejercicio
- Pasa las versiones secuencial y paralela como argumentos a una llamada a
microbenchmark(). - Genera un clúster con todos los núcleos disponibles menos dos.
- Utiliza el clúster para aplicar
cumsum()als_salesen paralelo utilizandoparLapply(). - Detén el clúster una vez finalizado el cálculo.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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
___