http://patshaughnessy.net/2013/10/30/generational-gc-in-python-and-ruby 前回のエントリーはこちら。 ブタペストで開催されたRUPY2013でのPat Shaughnessyのプレゼンの後半です。RubyとPythonのガベージコレクタの違いを、今回は、Pythonの循環データ構造への対応とRuby 2.1の世代別ガベージコレクタの話題に触れながら、紹介しています。 1) Pythonの循環データ構造と参照カウント Pythonは、いくつのポインタがそのオブジェクトを参照しているかを、参照カウントと呼ばれる整数で管理している。変数もしくはオブジェクトが、そのオブジェクトを参照しはじめれば数字が増えて、プログラムがそのオブジェクトを使うのをやめれば数字が減る仕組み。 1960年代以来、コンピュータ科学者が気づいているアルゴ