「GC(Garbage Collection、ガベージコレクション)のみを取り扱ったはじめての日本語本」である。前半の「アルゴリズム編」ではマークスイープGC、参照カウント、コピーGC、マークコンパクトGC、保守的GC、世代別GC、インクリメンタルGCといった、GCのアルゴリズムを解説する。コンピュータサイエンスの書物でよくある疑似コードを使った解説で、GCのこれまでの学問的成果を一覧するのに役立つ。アルゴリズムやそれを改良する手法について一つひとつ、メリットとデメリットを明確にしているのがよい。

 後半の「実装編」では、Python、AndroidのDalvikVM、Ruby処理系の一つ「Rubinius」、Google ChoromeのJavaScriptエンジン「V8」のGCの実装を解説する。最新のソフトウエア製品でいかにGCが工夫されているか、それをのぞき見ることができて面白い。

 著者の若々しさがすがすがしい。中村氏は「最初に触れたプログラミング言語はJavaでした」と述べているし、相川氏は東京大学大学院の修士2年であるということだ。これからソフトウエアの世界で活躍しようという若者は、同世代がどんなことをしているかを知る意味でも、ぜひ読んでほしい。

 ただ、アプリケーション指向の中年プログラマである評者は、「ガベージコレクションからは距離を取るほうが気楽かも」とも考えてしまった。プログラムの処理時間が長くなって悩むことが多く、処理時間にかかわる不確定要素は一つでも少ないほうが助かるからだ。ガベージコレクションがない世界も、残り続けるのではないだろうか。

ガベージコレクションのアルゴリズムと実装

ガベージコレクションのアルゴリズムと実装
中村成洋/相川光著
竹内郁雄監修
秀和システム発行
3360円(税込)