¿Existe una forma estandarizada en R de medir el tiempo de ejecución de la función?
Obviamente, puedo tomar system.time
antes y después de la ejecución y luego tomar la diferencia de esos, pero me gustaría saber si hay alguna forma o función estandarizada (me gustaría no inventar la rueda).
Me parece recordar que una vez he usado algo como a continuación:
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
es agradable. Proporciona un perfil de todos los procesos en un fragmento de código / función.
require(microbenchmark)
ahora es (desde hace un par de años) la forma estándar de la comunidad de cronometrar las cosas. times <- microbenchmark( lm(y~x), glm(y~x), times=1e3); example(microbenchmark)
. Esto hace una estadística comparación de lm
frente a glm
más de 1000 intentos, en lugar de system.time
probar una sola vez.
proc.time
en mente porquesystem.time
es uno que necesitas.