[Yarv-devel] GC Tech. on Script Lang.
MAEDA Atusi
maeda-yarv @ atusi.org
2004年 2月 6日 (金) 19:09:27 EST
matz at ruby-lang.org (Yukihiro Matsumoto) writes:
> ああっ、似てるなあ。ヒープこそ分けないけど。やっぱ完全オリジ
> ナルは難しいな。
>
> |ローカルGCは全部のスレッドを止めずに行なえるという利点はあるものの、
> | ・保守的すぎて、あまり多くのゴミを回収できない。
> | ・ローカルヒープが小さいと効果も小さいし、大きくするとスレッド数に関す
> | るスケーラビリティが悪化する。
> |という問題があると思います。
>
> そーですよねえ。それを気にしていたのでした。
効果がたいしたことなくても、オーバーヘッドが十分小さければ差し引きでや
る価値はあると思いますが…
# そうか、「1度でもヒープから指されたら」という1ビット情報で良いのか。
# 少し見えてきたかも。
ローカルヒープのサイズは、スレッド生成時には小さくしておいて、動的に増
やしていく手もあるかも知れません。
ちなみに、中村さんらの方法では、グローバルの印をつけたデータもなるべく
ローカルヒープに置いたままにしています。どうしようもなくなったら全スレッ
ドを止めてグローバルヒープに移してます。グローバルヒープのGCはまた別。
前田敦司
Yarv-devel メーリングリストの案内