トップ «前の日記(2010-03-18) 最新 次の日記(2010-03-25)» 編集

Route 477



2010-03-19

[prog] GC(ガベージコレクション)に特化した日本語書籍が発売、"早くも出版社在庫は品切れ"

@nari3@_hikari_によるGC本が発売された。監修は竹内先生。 予想を上回る売れ行きに、既に出版社在庫が品切れらしい。どういうことなの…。

4798025623

[5F] 『ガベージコレクションのアルゴリズムと実践』中村成洋ほか¥3360(秀和システム)レジ前の新刊コーナーと情報科学のコーナーにて平積みしています。早くも出版社在庫は品切れです。購入を予定されている方はお早めに!!

[Twitter / 書泉グランデ: [5F] 『ガベージコレクションのアルゴリズムと実践 ...より引用]

「GC(ガベージコレクション)」は、プログラムの実行中に不要になったメモリを自動的に解放する機構のこと。 JavaやRubyを始め、現代においてはGCのない言語処理系の方が珍しいくらいだ。

そんな重要なGCであるが、GCを専門に扱った書籍は、いままでに洋書の「Garbage Collection」の一冊しかなかった。 世界で二冊目のGC本が、日本から出たというのは、なかなか凄いことじゃなかろうか。*1

0471941484 1420082795

さて一口にGCと言っても、メモリ効率を重視したもの、トータルの実行時間を重視したもの、一回の停止時間を重視したものなど、 さまざまなアルゴリズムと実装が存在する。本書では、代表的な8つのアルゴリズムと、実際の4つの言語処理系のGCの実装について解説されている。

●序章
 GCとは / GCの恩恵 / GCの歴史 / なぜ今GCなのか / 読者対象 / 本書の表記

●アルゴリズム編
第1章 GCを学ぶ前に
第2章 マークスイープGC(Mark Sweep GC)
第3章 参照カウント(Reference Counting)
第4章 コピーGC(Copying GC)
第5章 マークコンパクトGC(Mark Compact GC)
第6章 保守的GC(Conservative GC)
第7章 世代別GC(Generational GC)
第8章 インクリメンタルGC(Incremental GC)

●実装編
第9章 PythonのGC
第10章 DalvikVMのGC
第11章 RubiniusのGC
第12章 V8のGC

●補遺
補遺A 簡単言語入門:Python編
補遺B 簡単言語入門:Java編
補遺C 簡単言語入門:Ruby編
補遺D 簡単言語入門:JavaScript編
補遺E 参考文献

Pythonはご存じとして、はAndroid用のJava VM、 Rubiniusは「できるだけRubyで書く」Ruby処理系、V8はGoogle Chromeに搭載されているJavaScript処理系だ。

人生で3回GCを実装しているというまつもとゆきひろ氏*2による帯の文章も格好いいので、書店で注目してみてほしい。

*1 いまAmazon見たら、今年の11月に「Advanced Garbage Collection」が発売予定になってるな。

*2 一部で「帯職人」の異名があるらしい?