Esiste un modo standardizzato in R per misurare il tempo di esecuzione della funzione?
Ovviamente posso prendere system.time
prima e dopo l'esecuzione e poi prendere la differenza di quelli, ma vorrei sapere se esiste un modo o una funzione standardizzati (vorrei non inventare la ruota).
Mi sembra di ricordare che una volta ho usato qualcosa di simile al seguente:
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
è bello. Fornisce un profilo di tutti i processi in una parte / funzione di codice.
require(microbenchmark)
ora (da un paio di anni fa) è il modo standard della comunità di valutare le cose. times <- microbenchmark( lm(y~x), glm(y~x), times=1e3); example(microbenchmark)
. Questo fa un statistico confronto tra lm
vs glm
oltre 1000 tentativi, piuttosto che system.time
prova solo una volta.
proc.time
in mente la causa di cuisystem.time
hai bisogno.