読者です 読者をやめる 読者になる 読者になる

hiratake55 の作業メモ

R, Javascript, Python, Linux and Hadoop

R で計算の実行時間を調べる

proc.time() でエポック秒が取得できるので、実行後の時刻から実行前の時刻を引き算すればよい。
具体的には、以下のように書ける。

t<-proc.time()
sum<-0;for(i in 1:1000) for(j in 1:1000) sum<-sum+j #何らかの計算
proc.time()-t
   ユーザ   システム       経過  
      0.79       0.03       0.83 

関数の場合は

system.time 関数で挟めば良いですね。

expr<-function(n){ sum<-0;for(i in 1:n) for(j in 1:n) sum<-sum+j }
system.time(expr(1000))

もしくは、このようにも書けます。見た目が良くないですが、関数を呼び出さないため、場合によってはこちらのほうが高速かも。

system.time({sum<-0;for(i in 1:1000) for(j in 1:1000) sum<-sum+j})