ささだです.

(2011/06/26 16:19), Kazuki Tsujimoto wrote:
> ちなみに、ポストしたパッチはキャッシュヒット率を向上させる面もあるので
> 別途取り込みを検討していただければと思います。
> 
> 現在の実装では、以下のコードでのm呼び出しによる@ivへのアクセスはいずれもキャッシュミスしますが、
> パッチを当てると初回のo0.m以外はキャッシュヒットするようになります。

 この話は,

  i) RBASIC(obj)->klass と rb_obj_class(obj) による速度差(○,×)
  ii) 上記によるキャッシュミス率の差(×,○)

のトレードオフになるかと思います.つまり,ごく普通のオブジェクトのほうが
多いと思うのですが,このとき RBASIC(obj)->klass じゃなく
て,rb_obj_class(obj) を使うことによるオーバヘッド増がどれくらい効くの
か,ってなことだと思います(殆ど誤差,という気もします).

 というわけで,この比較を見てから判断したいのですが,すみませんがこの観
点からベンチマークなどを取ってみては頂けないでしょうか.

 ちなみに,ミスを考慮しないベンチマークは,
trunk/benchmark/bm_vm1_ivar[_set].rb にあります.ミスを考慮したベンチ
マークも加えた方が良いかな.

-- 
// SASADA Koichi at atdot dot net