まつもと ゆきひろです

In message "Re: [ruby-dev:45086] Re: [ruby-trunk - Feature #5839][Open] Proposal: Bitmap Marking GC"
    on Wed, 4 Jan 2012 22:33:03 +0900, SASADA Koichi <ko1 / atdot.net> writes:

|(2012/01/04 21:33), Narihiro Nakamura wrote:
|> - 無駄な書き込みを防ぐため、なるべくfreelistを繋ぎ変えないようにした
|> -- GCの時にすでにfreelistに繋ながれていたオブジェクトを再度繋ぎ直さない
|> - freelistはスロットが持つようになった
|> -- 不要なスロットを解放するときにグローバルなfreelistにオブジェクトが繋
|>    がれている可能性がでてくるため
|
| freelist を見ずに,bitmap を見る,みたいなのだと,free obj 探索が遅く
|なっちゃう感じでしょうか.

「bitmapあるからfreelistなくす」のもありえると思いますが、性
能特性はどうなるのかな。明示的なsweepが要らないぶんと割り当て
時にスキャンが発生するのとのトレードオフかなあ。

| あと,nari さんが PRO で提案していた手法だと,「ビットマップ探索高速化
|のため〜」云々はあまり気にしなくていいんじゃないかと思ったんですが,そう
|でもないでしょうか.

memalignで直接ページが得られた方が、PROの手法よりビットマップ
テーブルを得るためのメモリアクセスが1段減って高速のはずです。
ビットマップテーブル取得はオブジェクトごとに発生しますから効
いてくるはずです。

|# あと,REE との性能比較があると興味深いと思ったけど,
|# いろいろ難しいかな.

うーん、1.8と1.9の差の方が大きすぎて意味のある性能比較はムリ
でしょう。メモリ消費量比較くらいなら有意義な比較ができるかな。

                                まつもと ゆきひろ /:|)