ガベージコレクションのアルゴリズムと実装 第9章「Python の GC」その1
- 作者: 中村成洋,相川光,竹内郁雄
- 出版社/メーカー: 秀和システム
- 発売日: 2010/03/17
- メディア: 単行本
- 購入: 25人 クリック: 810回
- この商品を含むブログ (94件) を見る
今日から実装編です。第9章「Python の GC」を読んでいきます。長いので何日かかかりそうです。
それにしても、第9章の扉絵がかわいい。
実装編はあまり詳細にメモしていてもただの引き写しになってしまうので感想程度にしておきます。
- Python のオブジェクトはサイズ可変みたい
- 小さなサイズのメモリ確保のためにarenaを作っている。256バイト以下の場合
- arena は256KB 固定長。poolは 4KB 固定長
- ブロックは8バイトの倍数。プール内では固定
- プールはグローバル変数から双方向循環リストでブロックサイズ毎に管理されている
今日は低レベルアロケータのところまでです。こういうメモリ管理のコードも楽しいですね。