ガベージコレクションのアルゴリズムと実装 1,2章
ustの進みに合わせて毎週読みます。
http://www.ustream.tv/recorded/5677917
Shinichi Tokunaga
@deepneko
GCはオブジェクトの各フィールド中の値がポインタであるか非ポインタであるかを判別可能であるという前提で解説を進めます。
2010-03-26 08:13:34
Shinichi Tokunaga
@deepneko
多くの言語処理系では、オブジェクトへのポインタは必ずオブジェクトの先頭アドレスを参照するようになっているので、そのような前提で~
2010-03-26 08:14:54
Shinichi Tokunaga
@deepneko
ミューテータから参照できる「生きているオブジェクト」、ヒープ領域中に割り当てられているがプログラムからは参照できない「死んでいるオブジェクト」
2010-03-26 08:20:40
Shinichi Tokunaga
@deepneko
グローバル変数の領域とヒープ領域を考えた場合、グローバル変数領域から直接、または間接参照されているオブジェクトをGCは生きていると考える。
2010-03-26 08:26:12
Shinichi Tokunaga
@deepneko
コピーGCは生きているオブジェクトが少ない場合にスループットが高い。生きているオブジェクトが多いとマークスイープGCの方がスループットが高い。
2010-03-26 08:28:32
Shinichi Tokunaga
@deepneko
オブジェクトのヘッダに多くの情報をつめるとGCの効率が向上し、スループットが改善されるが、ヘッダのサイズは小さい方がよい。
2010-03-26 08:33:42