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