On May 1, 10:56 am, CTO <debat...@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. -- http://mail.python.org/mailman/listinfo/python-list