How to measure the memory cost in Python?
MrJean1 at gmail.com
Sat May 2 02:50:37 CEST 2009
On May 1, 12:50 pm, Jean <MrJe... at gmail.com> wrote:
> On May 1, 10:56 am, CTO <debat... at gmail.com> wrote:
> > > sys.getsizeof() [a suggested solution] isn't platform-specific.
> > So, to answer the OP's question, you'd just do something like
> > def get_totalsize(obj):
> > total_size = sys.getsizeof(obj)
> > for value in vars(obj).values():
> > try: total_size += get_total_size(value)
> > except: total_size += sys.getsizeof(value)
> > return totalSize
> > def get_current_size(env):
> > size = 0
> > for value in env.values():
> > try: size += get_total_size(value)
> > except: pass
> > return size
> > get_current_size(vars())
> > and discount the weight of the interpreter?
> Keep in mind, sys.getsizeof(obj) returns only the size of the given
> object. Any referenced objects are not included. You can get the
> latter from gc.get_referents(obj).
> /Jean Brouwers
> PS) The asizeof(obj) function from this recipe <http://
> code.activestate.com/recipes/546530> does size the object plus its
> references, recursively.
Correction, the last sentence should be: The asizeof(obj) ... plus its
More information about the Python-list