Microbenchmark de receitas
Você trabalha como Analista de Dados em um vendedor online. Você consultou dados de vendas de diferentes produtos vendidos durante um mês. Isso está disponível no seu workspace como uma lista, ls_sales. Cada elemento dessa lista é um vetor de receitas para um determinado produto.
Você quer ver como a receita cresceu dia a dia. Isso significa calcular uma soma cumulativa. O R base tem uma função chamada cumsum() para fazer esse trabalho. Mas você quer verificar se a paralelização pode ajudar. Você quer aplicar cumsum() a cada elemento de ls_sales de forma sequencial e em paralelo e comparar os resultados. Os pacotes parallel e microbenchmark já foram carregados para você.
Este exercicio faz parte do curso
Programação Paralela em R
Instruções do exercicio
- Passe as versões sequencial e paralela como argumentos para uma chamada
microbenchmark(). - Gere um cluster com todos os núcleos disponíveis menos dois.
- Use o cluster para aplicar
cumsum()als_salesem paralelo usandoparLapply(). - Encerre o cluster quando o cálculo terminar.
exercicio interativo prático
Tente este exercicio completando este código de exemplo.
# 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
___