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

yarv-dev:506

From: Shiro Kawai <shiro lava.net>
Date: Sat, 04 Jun 2005 19:57:55 -1000 (HST)
Subject: [yarv-dev:506] Re: case/when optimization

From: SASADA Koichi <ko1 atdot.net>
Subject: [yarv-dev:505] Re: case/when optimization
Date: Thu, 09 Jun 2005 14:37:14 +0900

> > 実行時にハッシュテーブルのルックアップが1回入るんですよね?
> > 
> > 分岐が数個の時でもif 〜 elsif 〜 else  に展開するより速いのは、
> > ハッシュテーブルが優秀なのかしらん。
> 
>  Ruby の比較はメソッド呼び出しになるので、そのメソッド呼び
> 出しのコストよりもハッシュ検索コストのほうが速い、ということ
> です。多分。

今回みたいな最適化が効く場合は '===' をそもそも呼んでないんですよね。
なら今回の最適化が効いて、さらに分岐が少ない場合は
内部の比較手続きを使った ifの連鎖に展開してみては。
まあメソッド呼び出しが省略されるという現在の最適化のgainに比べたら
差はずっと少ないんじゃないかと思いますが。

--shiro


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

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

       502 2005-06-09 11:45 [ko1 atdot.net       ] case/when optimization                  
       503 2005-06-05 14:24 ┗[shiro lava.net      ]                                       
       505 2005-06-09 14:37  ┗[ko1 atdot.net       ]                                     
->     506 2005-06-05 14:57   ┗[shiro lava.net      ]