PHP 5.2までのガーベジコレクタは参照カウント方式です。 循環参照が発生すると、その参照に含まれるオブジェクトが回収できませんので、デーモンなど長時間実行するようなスクリプトを作る場合は循環参照を起こさないように注意する必要があります。 尚、PHP 5.3からは循環参照コレクタが使え、デフォルトで有効になっています。 実際にPHP 5.1.6と5.3.0を比較し、実際にどのような動きになるか以下のコードで試してみました。 <?php ini_set('memory_limit', -1); // gc_disable(); class A { } $loop_count = 1000000; for($i = 1; $i <= $loop_count; $i++) { $a = new A; $a->self = $a; // 循環参照 if (($i % round($loop_co
こちらで続けようと思います。 とりあえず、CentOS5、CentOS6の共生と cpanmでのImage::Magick の取り扱い、Imagerがいまいち美しい処理をしてくれないあたりが目下の目標です。
3.2 gc -- ガベージコレクタ インターフェース gcモジュールは、インタプリタのビルドオプションで循環ガベージコ レクタを有効にした場合のみ使用することができます(デフォルトで有効)。も し無効になっている場合にこのモジュールをインポートすると、 ImportErrorが発生します。 このモジュールは、循環ガベージコレクタの無効化・検出頻度の調整・デバッグ オブションの設定などを行うインターフェースを提供します。また、検出した到 達不能オブジェクトのうち、解放する事ができないオブジェクトを参照する事も できます。循環ガベージコレクタはPyhonの参照カウントを補うためのものです ので、もしプログラム中で循環参照が発生しない事が明らかな場合には検出をす る必要はありません。自動検出は、gc.disable()で停止する事ができま す。メモリリークをデバッグするときには、 gc.set
GC¥¢¥ë¥´¥ê¥º¥à¾ÜºÙ²òÀâ ÆüËܸì¤Î»ñÎÁ¤¬¤¹¤¯¤Ê¤¤GC¥¢¥ë¥´¥ê¥º¥à¤Ë¤Ä¤¤¤Æ¾ÜºÙ¤Ë²òÀ⤷¤Þ¤¹ ¥È¥Ã¥×¥Ú¡¼¥¸¥Ú¡¼¥¸°ìÍ÷¥á¥ó¥Ð¡¼ÊÔ½¸ GC ºÇ½ª¹¹¿·¡§ author_nari 2010ǯ03·î14Æü(Æü) 20:47:11ÍúÎò Tweet ¤³¤ÎWiki¤¬Ìܻؤ¹½ê GC¤È¤Ï¡© GC¤ò³Ø¤ÖÁ°¤ËÃΤäƤª¤¯»ö ¼Â¹Ô»þ¥á¥â¥ê¹½Â¤ ´ðËÜ¥¢¥ë¥´¥ê¥º¥àÊÔ Reference Counter Mark&Sweep Copying ±þÍÑ¥¢¥ë¥´¥ê¥º¥àÊÔ IncrementalGC À¤ÂåÊÌGC ¥¹¥Ê¥Ã¥×¥·¥ç¥Ã¥È·¿GC LazySweep TwoFinger Lisp2 Pa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く