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 ]