[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 メーリングリストの案内