[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:379

From: SASADA Koichi <ko1 atdot.net>
Date: Tue, 14 Dec 2004 23:48:40 +0900
Subject: [yarv-dev:379] reciever eval order affect performance?

 ささだです.

 スタックキャッシュすると,レシーバの評価を最後にしたほうが速
くなる,と言い続けてきたので,ちょびっと評価しました.

 recv.m() について,recv をスタックキャッシュに置くか置かない
かを比べました.

def m
end
i = 0
while i<2000000
  i+=1
  m
end


置く  :0.33
置かない:0.39 (sec)

 くらいの差がでました.繰り返しのコストが 0.15 sec ほどなの
で,メソッド起動のコストが 25% 軽量化,というところでしょうか.

 ruby の仕様のわかりやすさとこの速度差.数倍にならないので,
やっぱりレシーバは最初に評価するべきなのかもしれませんね.あ,
まだ命令融合やってないな.

-- 
// SASADA Koichi at atdot dot net
//


--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]