アカウント名:
パスワード:
参照にループがあると必ずオブジェクトが残るのでお勧めしません。
それは承知の上でやっています。レファレンスカウンタと言っても、オブジェクトのリストは存在しているので、マーク&スイープとの併用も可能。まずは、相手にするオブジェクト数を減らしたいので、そのためにはレファレンスカウンタが簡単かなと思った次第です。
ただ、Schemeの処理系で使うためですが、結構面倒くさいです。マーク&スイープの方が簡単ではないかと思いつつも、格闘中。
GCを書いています。初めてなので、対象をスタックしておいて、レファレンスカウンタでデリートするかを判断する方式ですが、初日は解放漏れ(カウンタが0になっていない)が多数。
ボクも自分のGCモジュールをMark&Sweepから世代別GCへ拡張してみましたOld Spaceから参照されたみたいなことになるバグでEdenの苑に生ける死体がゴロゴロ
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stay hungry, Stay foolish. -- Steven Paul Jobs
正月早々、ゴミ収集 (スコア:0)
Re:正月早々、ゴミ収集 (スコア:1)
参照にループがあると必ずオブジェクトが残るのでお勧めしません。perlがこの方式なので無限ループを書いたときにゴミが増殖する場合があるという話を聞いたことがあります(私自身perlの実装見たことないですので本当かどうか知りませんが)。
GCはとりあえずcopy&goをお勧めしておきます。conservative GCを書く必要があるならcopy&goは使えない(ものすごく考えれば出来るかも知れませんが -- 実例あったら教えて下さい!!)ですが、それであればBohemGCを導入すれば良い訳です。
Best regards, でぃーすけ
Re: (スコア:0)
それは承知の上でやっています。レファレンスカウンタと言っても、オブジェクトのリストは存在しているので、マーク&スイープとの併用も可能。まずは、相手にするオブジェクト数を減らしたいので、そのためにはレファレンスカウンタが簡単かなと思った次第です。
ただ、Schemeの処理系で使うためですが、結構面倒くさいです。マーク&スイープの方が簡単ではないかと思いつつも、格闘中。
正月早々、ゴミ生産 (スコア:0)
近い (スコア:1)
expect と組み合わせて動かしています。
今日はまとめ文書を書いていました。
とても眠くなりました。
Re: (スコア:0)
ボクも自分のGCモジュールをMark&Sweepから世代別GCへ拡張してみました
Old Spaceから参照されたみたいなことになるバグでEdenの苑に生ける死体がゴロゴロ