Existe uma maneira padronizada em R de medir o tempo de execução da função?
Obviamente, eu posso pegar system.time
antes e depois da execução e depois tirar a diferença, mas gostaria de saber se existe alguma maneira ou função padronizada (gostaria de não inventar a roda).
Lembro-me de que já usei algo como abaixo:
somesysfunction("myfunction(with,arguments)")
> Start time : 2001-01-01 00:00:00 # output of somesysfunction
> "Result" "of" "myfunction" # output of myfunction
> End time : 2001-01-01 00:00:10 # output of somesysfunction
> Total Execution time : 10 seconds # output of somesysfunction
Rprof
é bom. Ele fornece um perfil de todos os processos em uma parte / função de código.
require(microbenchmark)
agora é (há alguns anos) o caminho padrão da comunidade para cronometrar as coisas. times <- microbenchmark( lm(y~x), glm(y~x), times=1e3); example(microbenchmark)
. Isto faz uma estatística comparação de lm
vs glm
mais de 1000 tentativas, em vez de system.time
testar apenas uma vez.
proc.time
em mente porquesystem.time
é uma que você precisa.