Medições de tempo - crescimento de um vetor
Fazer um vetor “crescer” é um dos pecados mortais em R; você deve sempre evitar isso.
A função growing() definida abaixo gera n números aleatórios da normal padrão, mas aumenta o tamanho do vetor a cada elemento adicionado!
Observação: Números da normal padrão são valores amostrados de uma distribuição normal com média 0 e desvio padrão 1.
n <- 30000
# Slow code
growing <- function(n) {
x <- NULL
for(i in 1:n)
x <- c(x, rnorm(1))
x
}
Este exercício faz parte do curso
Escrevendo código R eficiente
Instruções do exercício
A função growing() já foi definida no seu workspace.
- Usando a função
system.time(), descubra quanto tempo leva para gerarn = 30000números aleatórios da normal padrão usando a funçãogrowing(). Use o truque com<-para guardar o resultado em um vetor chamadores_grow.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Use <- with system.time() to store the result as res_grow
system.time(___ <- ___)