[#45085] [ruby-trunk - Feature #5839][Open] Proposal: Bitmap Marking GC — Narihiro Nakamura <authorNari@...>

11 messages 2012/01/04

[ruby-dev:45087] Re: [ruby-trunk - Feature #5839][Open] Proposal: Bitmap Marking GC

From: Yukihiro Matsumoto <matz@...>
Date: 2012-01-04 13:48:02 UTC
List: ruby-dev #45087
まつもと ゆきひろです

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の差の方が大きすぎて意味のある性能比較はムリ
でしょう。メモリ消費量比較くらいなら有意義な比較ができるかな。

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

In This Thread