Czy istnieje znormalizowany sposób pomiaru czasu wykonania funkcji w R?
Oczywiście mogę wziąć system.time
przed i po wykonaniu, a następnie wziąć różnicę między nimi, ale chciałbym wiedzieć, czy istnieje jakiś znormalizowany sposób lub funkcja (nie chciałbym wymyślać koła).
Wydaje mi się, że pamiętam, że kiedyś użyłem czegoś takiego:
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
jest miło. Zapewnia profil wszystkich procesów w części / funkcji kodu.
require(microbenchmark)
jest teraz (od kilku lat) standardowym sposobem społeczności na mierzenie czasu. times <- microbenchmark( lm(y~x), glm(y~x), times=1e3); example(microbenchmark)
. To robi statystycznego porównania lm
vs glm
ponad 1000 prób, zamiast system.time
testowania tylko raz.
proc.time
na myśli przyczynę,system.time
której potrzebujesz.