From: Masato KIYAMA Date: 2000-06-10T12:59:02+09:00 Subject: [ruby-dev:10004] Re: Generational GC まさとです. > とすると、拡張ライブラリとかでたとえば配列の要素を直接変更し > たらrb_gc_check_refを呼ばないとまずいということでしょうか? > しかも、忘れるとかなりまずくありませんか? かなりまずいです. > この辺をどう克服するか、ですね。 > 良い手は思い付かないけど。 ですね. メモリ領域にプロテクトをかけるという方法が ありますが,これだとシステム時間が増えてしまうという 問題点があります. もうすこし評価をとらないと何とも言えませんが. なにかよい方法を考えてみます. > 両方です。現在のGCは割り当てたオブジェクトの数と割り当てたメ > モリ領域サイズの合計がそれぞれある定数を越えたときにGCを開始 > していますが、たとえばこれを可変にすることで、もうちょっとイ > ンテリジェント(かつヒューリスティック)に起動できるような気が > します。極端な話、大量のオブジェクトが割り当てられ、そのほと > んどが生きている状況ではGCを頻繁に呼び出すより、仮想記憶に負 > 担をかけてでもメモリを捻出した方が賢いですよね。 すばらしいです. 僕も今それを考えているところです. 特に,ヒューリスティックな方法を. 生きているオブジェクトの増加に,ある程度の法則性を 見出しているので,多分可能かと思います. もうすこし,多くの種類のアプリケーションから 評価をとってみて結論は出したいと思っています. > この辺の評価も含めて、コラムを書きませんか? > 英語もあるとなお良しですが。 たぶん僕の修論がそのままコラムになりそうですね. 一般的なGCの方法の説明,RubyのGCの評価, 世代別GCを実装したときの評価などがありますから. 英語版は...がんばってみます. 今月末に論文の〆切がありますので,すぐにという のは難しいですが,できるだけ早く 修論を仕上げてご報告させていただきます. では