オブジェクトのメモリ占有量を見積もる良い方法はありますか?Python:データ構造のメモリフットプリントを見積もる/計算する方法は?
逆に、フットプリントを測定するにはどうすればよいでしょうか?例えば
、私はその値は、整数、フロートタプルのリストである辞書を持っていると言う:
d['key'] = [ (1131, 3.11e18), (9813, 2.48e19), (4991, 9.11e18) ]
私は物理メモリの4Gを持っており、約どのように多くの行(キー:値)を把握したいと思います私はスワップにこぼれ落ちる前に私は記憶に格納することができます。これはlinux/ubuntu 8.04とOS X 10.5.6です。
さらに、私のプログラムの実際のメモリ内フットプリントを調べるにはどうすればよいですか?物理的な記憶と流出を疲弊しているときに、どのようにしてわかりますか?
なぜ 'd'に6 '文字'オブジェクトがありますか? –
新しい変数をバインドすると、新しい文字列が作成されます( 'd')。属性ルックアップ(ヒープ)が別のものを占めます。私は残りがどこから来ているのか分かりません。 –
実際の結果はさまざまで、使用している特定のインタプリタの実装に対してそれらをチェックするか、または分散を見つけるために試行錯誤する必要があります。たとえば、上記の例を試したところ、合計96バイトの3つの文字列が報告されました。 –