[ruby-dev:39868] Re: [Feature #2471] want to choose a GC algorithm

From: Yukihiro Matsumoto <matz@...>
Date: 2009-12-10 16:14:05 UTC
List: ruby-dev #39868
まつもと ゆきひろです

In message "Re: [ruby-dev:39867] Re: [Feature #2471] want to choose a GC 	algorithm"
    on Fri, 11 Dec 2009 00:02:42 +0900, Narihiro Nakamura <authornari@gmail.com> writes:

|ただ、GC自体の改善(高速化等)という観点で見ると、今までのCRubyのGCはそ
|れほど大きな改善はなされていないので、特にこのパッチが入ることによって、
|さらに改善が遅くなるということもないのではないかと思います。
|逆にLazySweepが上手く育ってくれれば、デフォルトのGCに取って代わるという
|のも面白いかもしれません。

っていうか、LazySweepって「取って代わる」ような大きなアルゴリ
ズムの変更ではないと思います。あまり大きなトレードオフもなさ
そうなので、ちゃんとバグが取れたならいつも有効にしていてもよ
いような。

そういう意味では、LazySweepがon/offできることのメリットが不明
なので、このパッチには賛成しません。これがcopy-on-write
friendly GCとかmostly-copying GCのような性能特性が大きく変わ
りそうなものなら、切り替えに意味があるかもしれません。

GCについては、

  * ささだくんのところのメモリアロケーションにmmapを使う改善
  * その応用としてのビットマップマーキング
  * LazySweep

がとりあえず有望そうな改善だと思います。今後の課題としては

  * multi threadedなsweep
  * 鵜川さんのところのmostly-copying GC
  * ライトバリアの導入

などが考えられますが、これらは解決すべき課題がまだまだ多そう
です。

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

In This Thread