Comece agoraComece grátis

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

Ver curso

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() a ls_sales em paralelo usando parLapply().
  • 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
___
Editar e Executar Código