ComeçarComece de graça

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

Ver curso

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 gerar n = 30000 números aleatórios da normal padrão usando a função growing(). Use o truque com <- para guardar o resultado em um vetor chamado res_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(___ <- ___)
Editar e executar o código