ComeçarComece de graça

Como o tempo de processamento varia conforme o tamanho dos dados?

Se você está processando todos os elementos de dois conjuntos de dados e um deles é maior, então o conjunto maior levará mais tempo para processar. No entanto, é importante perceber que o quanto mais tempo leva nem sempre é diretamente proporcional ao quanto ele é maior. Ou seja, se você tem dois conjuntos de dados e um tem o dobro do tamanho do outro, não é garantido que o maior levará o dobro do tempo para processar. Pode levar 1,5 vez mais ou até quatro vezes mais. Isso depende de quais operações são usadas para processar o conjunto de dados.

Neste exercício, você vai usar o pacote microbenchmark, que foi abordado no curso Writing Efficient R Code.

Observação: os números são especificados em notação científica $$1e5 = 1 * 10^5 = 100.000$$

Este exercício faz parte do curso

Processamento de Dados em Escala no R

Ver curso

Instruções do exercício

  • Carregue o pacote microbenchmark.
  • Use a função microbenchmark() para comparar os tempos de ordenação de vetores aleatórios.
  • Chame plot() em mb.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Load the microbenchmark package
___

# Compare the timings for sorting different sizes of vector
mb <- ___(
  # Sort a random normal vector length 1e5
  "1e5" = sort(rnorm(1e5)),
  # Sort a random normal vector length 2.5e5
  "2.5e5" = sort(rnorm(2.5e5)),
  # Sort a random normal vector length 5e5
  "5e5" = sort(rnorm(5e5)),
  "7.5e5" = sort(rnorm(7.5e5)),
  "1e6" = sort(rnorm(1e6)),
  times = 10
)

# Plot the resulting benchmark object
___(mb)
Editar e executar o código