GCGW中にせこせこと作っていたGCパッチをruby-devに投稿しました.内容は以下.Railsのヒープ調査2ヶ月ほど前に,ふと気になってRailsがどんな風にヒープを使用しているか調査してみました.以下のグラフはscaffoldしたRailsアプリを動かした際のものです. 調査前は,「文字列が一番多いんじゃないか」と考えていたのですが,実際には構文木オブジェクトがヒープの半分を占めているようです.その構文木オブジェクトを更に詳しく調べたグラフが以下です. このグラフにあるNODE_METHODやNODE_CFUNC,NODE_FBODYはメソッド定義の際に使用され,NODE_WHILEやNODE_BLOCKはVMの内部で使用されているようです. 長寿命GC更に調査をすると,これらのオブジェクトはとても長生きな事が分かりました.そこで,これらを長寿命領域に隔離してしまおう,という改善を