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
はあなたが必要としているものだと思います。