ガベージコレクションのアルゴリズムと実装 第3章「参照カウント(Reference Counting)」中盤
- 作者: 中村成洋,相川光,竹内郁雄
- 出版社/メーカー: 秀和システム
- 発売日: 2010/03/17
- メディア: 単行本
- 購入: 25人 クリック: 810回
- この商品を含むブログ (94件) を見る
梅雨は朝の読書会の天敵です。雨の日は通勤時間に読書時間が奪われてしまうので。
今日は第3章の中盤を読みました。参照カウントの章を読み終わることができませんでした。
- 遅延参照カウント
- ルートからの参照の変更でカウント増減処理しない
- そのかわり Zero Count Table というのに入れておく
- アロケートの時にチャンクがなくなったら Zero Count Table をスキャンして改めてルートからの参照を確認、解放
- 若干複雑ですねー。それに参照カウントなのにマークスイープみたいになっていてメリットデメリットも中間になってしまいそうです
- Sticky 参照カウント法
- 5ビットだけのカウンタで参照数をカウント。オーバフローしたら……
- 死なないオブジェクトになる
- マークスイープを併用。ただし普通のマークスイープGCではなくてカウント処理もするので重い
- 5ビットだけのカウンタで参照数をカウント。オーバフローしたら……
参照カウントひとつ取ってもいろいろな工夫があります。カンストで諦めるとか、潔いですね。