Существует ли в 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
это то, что вам нужно.