2011/02/19 Python Hack-a-thon 2011.02 LT部メモ

ATND http://atnd.org/events/9977 ハッシュタグ #aodag 日時 / DATE :2011/02/19 09:00 to 20:00 定員 / LIMIT :160 人 続きを読む
1
前へ 1 2 ・・ 23 次へ
takabow @takabow

またマーク&スイープの特徴として、世代別GCと呼ばれるものを持っている。これはオブジェクトを世代別に判別し、できたてのオブジェクトはGCにより削除されやすい。長生きのオブジェクトはなかなか削除されない。3世代に分けて若いオブジェクトを重点的にチェックして回収を行う #aodag

2011-02-19 15:17:15
そーり @yshigeru

みんな #aodag って何かやってるん?

2011-02-19 15:17:20
takabow @takabow

s/スイート/スイープ/g #aodag

2011-02-19 15:17:46
close_yutori @kimukou2628

#aodag Python2.6から「マーク&スイープ」機能を実装 ・到達不能なオブジェクト検出 =>Cのコードで300-400行程度 ・世代別 A)できたてのObj死にやすい B)長生きObjはなかなか削除されない<=3世代に分けて若いObjを重点チェック

2011-02-19 15:17:48
しいたけ @yuroyoro

PythonのメモリモデルよくわかってないんだけどJavaみたいにHeapがedenとかsuvivorとかに別れてるのかな?あと、GC中って実行中のスレッドどうなるん? #aodag

2011-02-19 15:18:04
もちお @hagaeru3sei

へーGC中はインタプリタ停止するのか。。。 #aodag

2011-02-19 15:19:02
takabow @takabow

GCの処理時間を測定すると、オブジェクトが100万個単位になってくると秒単位の遅延が起こる。なおGC中はPythonのインタープリタは完全に停止する。 #aodag

2011-02-19 15:19:19
close_yutori @kimukou2628

#aodag GCの処理時間) Object100万個 2.6>2.7>3.1 という感じでGC処理時間が短くなる GC中=>インタプリタ停止するのでObjの作りすぎはやめましょう

2011-02-19 15:19:26
mk📱 @xga

使いかけのジェネレータ放置か... #aodag

2011-02-19 15:19:48
しょーま @shomah4a

デストラクタあると mark&sweep で解放できないのか #aodag

2011-02-19 15:20:42
Takayuki Shimizukawa @shimizukawa

GC関係のネタがPython Cookbookに載っていた気がする。 「8.3 ガベージコレクションの課程をデバッグ」 これか #aodag

2011-02-19 15:20:50
Masayuki ITOU @mmitou

pythonってラインあたり何個のオブジェクトが平均して作られるってデータとかあるのかしら #aodag

2011-02-19 15:20:58
しょーま @shomah4a

__del__ は使っちゃいけない #aodag

2011-02-19 15:22:06
takabow @takabow

メモリが開放できないケースがある。__del__() を持っているオブジェクトはマーク&スイープで削除できない。Pythonインタープリタの判断では削除ができない。よってプログラマ側でgc.garbageをチェックして掃除が必要。基本的に __del__()は悪。 #aodag

2011-02-19 15:22:12
AE35 @AE35

「__del__() は悪です。使わないで下さい!」 #aodag

2011-02-19 15:22:15
前へ 1 2 ・・ 23 次へ