From: Yukihiro Matsumoto Date: 2006-07-05T16:37:50+09:00 Subject: [ruby-dev:28962] Re: 世代別 GC について まつもと ゆきひろです In message "Re: [ruby-dev:28960] 世代別 GC について" on Wed, 5 Jul 2006 06:47:06 +0900, MORITA Naoyuki writes: |Ruby への世代別 GC の導入について興味を持っていて,調査を行っています. | |いくつか質問があります. | |1. 2001,2002年に木山さんが世代別 GC を実装されています(1)が,調べた限 | りでは,[ruby-dev:17677] でのまつもとさんの | |> で、まだマージしてない理由はただひとつ、「1.7のメモリ割り当 |> て戦略の変更で世代別GCのほうが速いケースが見つからない」せい |> です。write barrier のコストのせいか、かなり人工的なテストケー |> スでも世代別でないほうが速いです。 | | という発言の他に,世代別 GC のコスト問題に関する public な言及を発見 | できていません.この問題に関する調査や報告が他になされているかどうか, | どなたかご存知ないでしょうか? 昨年、私がちょっとGCについて作業しましたが、それ以外にはされ ていないと思います。 | 木山さんの論文および発表スライドを見る限りでは,大きなテキスト文書や | XML文書を処理する場合などにかなり大きな改善を得られているようです. | 個人的意見としてはこれだけでも十分に導入する意味があるように思います. あれは1.4に対するもので、あの論文では改善が見られるケースの 多くは、1.8では差がないか、性能が低下します。ただ、まだプロ ファイルは取っていないので、これがライトバリアが重いせいなの か、実装に何か問題があるのかはわかっていません。 |2. 木山さんの実装の他に,Ruby (Rite, 現在の安定版含めて)の GC の改善に | 関する研究や活動は全く行われていないのでしょうか? | | 今年の 6/12 に http://www.ruby-forum.com/topic/69026 でも質問をされ | ている方がいますが,反応はないようです. 私が昨年、1bit reference countingの実装を行いました。これも ほとんど性能向上が見られませんでした。残念。 |3. RHGでは, Rite では Boehm GC を導入する予定との記述がありました(2) | が,それについては現在どのような状況になっているのでしょうか? 現時点では予定はないです。GCのような本質的な部分を明け渡すの にはかなり抵抗が。が、笹田くんが決心すればアリかもしれない。 |なお,現在 GC に関して他に誰もやっている人がいなければ,ひとまず自分が |動いてみようかと考えています. とりあえず木山さんのパッチを現行の 1.8 |系列 に移植するところからやってみる予定です. 木山パッチの1.8対応はそんなに難しくないはずです。私も一度やっ たことがあります。それをさしあげても良いのですが、やってみる と構造がよくわかるので演習問題としたほうがよいのかもしれませ ん。必要なら教えてください。どっかのディスクに眠っていると思 うので、探してみます。 ただ、あれは確かlambdaやcontinuationなどの対応ができてなかっ たように思うので、実用レベルにあたってはその辺も考慮する必要 がありますね。 まつもと ゆきひろ /:|)