2016-09-01 16 views
0

です。Rの測定関数の実行時間は単純ですが、コードを汚染します。Rの測定機能の実行時間と終了時間は、デフォルトでR

t0 <- Sys.time() 
my_function() 
t1 <- Sys.time() 
t1-t0 

それが実行時間(期間)と完了の時間を記録し、関数の出力後に画面にいることを印刷しますいくつかのパッケージまたはRの設定はありますか? STATAで

これは設定して行うことができます。その後

set rmsg on 

次の4のコマンドを使用して、コードのブロックを実行する場合:

clear 
set obs 3 
gen x=1 

出力ウィンドウが表示されます:

. clear 
r; t=0.00 9:10:28 

. set obs 3 
number of observations (_N) was 0, now 3 
r; t=0.00 9:10:28 

. gen x=1 
r; t=0.00 9:10:28 

. 
end of do-file 

r; t=0.00 9:10:28 

我々はのための実行や終了時間持っている上:

  • 各コマンドコマンド。これはコマンド出力に従います(cleargenには画面出力がありません)。
  • ホールコマンドブロック。これは、end of do-fileとそれ以降の時間情報を追加して示されます。

大きなデータセットで作業する場合、これは非常に便利です。

Rでこれを行う方法はありますか?

この機能を実装するにはパッケージを作成するのは複雑すぎるでしょうか?

+4

あなたはRStudioを使用していますか?それから、[プレビュー版](https://www.rstudio.com/products/rstudio/download/preview/)を見てください。これには簡単なプロファイリングオプションが含まれています。 – lukeA

答えて

0

microbenchmarkパッケージをご覧ください。例えば。

microbenchmark::microbenchmark(my_fun(), times = 100L, unit = "ms") 
summary(microbenchmark::microbenchmark(my_fun(), times = 100L, unit = "ms"))$uq 

後者のオプションでは、後でテストするためのエントリにアクセスできます。

例を実行:

microbenchmark::microbenchmark(factorial(100), times = 100L, unit = "us") 
関連する問題