Чи є стандартизований спосіб R вимірювання часу виконання функції?
Очевидно, я можу взяти system.time
до і після виконання, а потім прийняти різницю між ними, але хотілося б знати, чи є якийсь стандартизований спосіб або функція (хотілося б не винаходити колесо).
Здається, я пам’ятаю, що колись я використовував щось подібне нижче:
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
приємно. Він надає профіль усіх процесів у фрагменті / функції коду.
require(microbenchmark)
зараз (ще пару років тому) загальноприйнятим способом спільноти робити час. times <- microbenchmark( lm(y~x), glm(y~x), times=1e3); example(microbenchmark)
. Це робить статистичне порівняння lm
проти glm
понад 1000 спроб, а не system.time
відчувати тільки один раз.
proc.time
на увазі причинуsystem.time
- це те, що тобі потрібно.