タグ

programmingとgcに関するtakkawのブックマーク (2)

  • PythonのGCについて

    PythonのGarbageCollection 原文 Neil Schemenauer (翻訳:中村 成洋) ポータブルなGarbageCollection 概要 循環参照はリスト,タプル,インスタンス,クラス,辞書,関数に伴って見つかります. インスタンスの __del__ メソッドは正常に取り扱われます. 新しいタイプをGCの対象に追加するのは簡単です. このGCが有効なPythonは,通常のPythonとバイナリ互換です. 世代別GCが動いています(今は三世代).このオーバヘッドをpybenchで測ったら,大体4%くらい占めていました. 実質的に,すべての拡張モジュールは,不変に(私は,標準的な配布において 新しいものとcPickleを修正しなければなりませんでした)ならなければなりま せん.gcと呼ばれている新しいモジュールは,コレクターを調整して,デバッ ギングオプションをセッ

  • 第5章 ガ-ベージコレクション

    プログラムの実行時イメージ 突然だが、章を始めるに先立ち、プログラム実行時のメモリ空間の状態につ いて予習をしておこうと思う。この章ではコンピュータの低レベルな部分にか なり踏み込んでいくことになるので、あらかじめある程度の知識を仕入れてお かないと太刀打ちできないのだ。それにこの後の章になればいずれ必要になっ てくる。ここで一回やってしまえば後が楽だ。 セグメント 一般的なCプログラムではメモリ空間の中に以下の部分を持つ。 テキスト領域 スタティック変数やグローバル変数の置場 マシンスタック ヒープ テキスト領域はコードが置いてあるところ。二番目は見ての通り。マシンスタッ クには関数の引数やローカル変数が積まれる。ヒープはmalloc()で割り当てて もらうところだ。 三つめのマシンスタックについてもう少し話そう。マシン「スタック」と言う くらいだから当然スタック構造をしている。つまり

  • 1