AOベンチ高速化計画 (その2.5)

ヒットしたらコア吐くようにして調べてみたらキャッシュにヒットしていないことがわかりました。クラスをキーにするのは効果あるけど、オブジェクトでは変化が激しくてダメみたいです。同じクラスならオブジェクトの先頭からインスタンス変数のオフセットが同じということが成り立つなら、クラスをキーにできるかなと思ったのですが、Rubyでそれが保障されるのかどうかよくわからないです。もちろん、途中でインスタンス変数を追加しないという条件で、です。

追記、Rubyはクラスを動的に変えることが出来ないから、クラスのチェックは要らないか。でも、継承した場合を考える必要があります。この場合は、親クラスからメソッド定義をコピーしちゃえばいいのですが。
こうなると、いちいちキャッシュをチェックするのがかったるくて、自己書き換えがしたくなります。