Gibt es in R eine standardisierte Methode zur Messung der Ausführungszeit der Funktion?
Natürlich kann ich system.time
vor und nach der Ausführung nehmen und dann den Unterschied davon nehmen, aber ich würde gerne wissen, ob es einen standardisierten Weg oder eine standardisierte Funktion gibt (möchte das Rad nicht erfinden).
Ich scheine mich zu erinnern, dass ich einmal etwas wie das Folgende benutzt habe:
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
ist schön. Es bietet ein Profil aller Prozesse in einem Codeblock / einer Codefunktion.
require(microbenchmark)
ist jetzt (seit ein paar Jahren) der Community-Standard für die Zeitmessung. times <- microbenchmark( lm(y~x), glm(y~x), times=1e3); example(microbenchmark)
. Dies macht einen statistischen Vergleich der lm
gegen glm
über 1000 versucht, anstatt system.time
nur einmal zu testen.
proc.time
im Sinn, weilsystem.time
Sie eine brauchen.