[Python-ml-jp 4830] Re: メモリ使用量について

Mitsuhiro SETOGUCHI setomits @ gmail.com
2009年 8月 28日 (金) 20:30:18 JST


稲田さん

早速の回答ありがとうございます。
代入の前で del することで、余分なメモリ使用がなくなりました。

取り急ぎお礼までに。


2009/08/28 19:06 INADA Naoki <songofacandy @ gmail.com>:

> 稲田です。
>
> 二回目以降の a = range(... では、 a への代入より先に range(...) が評価されるので、
> 一瞬だけ両方のオブジェクトが存在するタイミングがあります。
> 2回目の a = range(... を実行する前で、一旦 del a してみてください。
>
> 通常のPython (=CPython) では、参照カウントという方式でメモリ管理をしているので、
> 他に a を参照している変数が無ければ、 del a することでメモリが開放されます。
>
> # メモリ管理はPythonの実装によって異なるので、JythonやIronPython等では
> # 動作が異なります。しかし、大きいオブジェクトは早めに del するのは良い習慣だと思います。
> --
> Naoki INADA  <songofacandy @ gmail.com>
> _______________________________________________
> Python-ml-jp mailing list
> Python-ml-jp @ python.jp
> http://www.python.jp/mailman/listinfo/python-ml-jp
>



Python-ml-jp メーリングリストの案内