This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author serhiy.storchaka
Recipients pitrou, rhettinger, serhiy.storchaka
Date 2013-09-19.11:48:13
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1379591293.2.0.269395220303.issue19048@psf.upfronthosting.co.za>
In-reply-to
Content
Thy are visible by calling gc.get_referents(). High-level function can use this to count recursive size of objects.

>>> import sys, gc, itertools
>>> def gettotalsizeof(*args, seen=None):
...     if seen is None:
...         seen = {}
...     sum = 0
...     for obj in args:
...         if id(obj) not in seen:
...             seen[id(obj)] = obj
...             sum += sys.getsizeof(obj)
...             sum += gettotalsizeof(*gc.get_referents(obj), seen=seen)
...     return sum
... 
>>> a, b = tee(range(10000))
>>> sum(next(a) for i in range(1000))
499500
>>> gettotalsizeof(a)
750
>>> gettotalsizeof(b)
18734
History
Date User Action Args
2013-09-19 11:48:13serhiy.storchakasetrecipients: + serhiy.storchaka, rhettinger, pitrou
2013-09-19 11:48:13serhiy.storchakasetmessageid: <1379591293.2.0.269395220303.issue19048@psf.upfronthosting.co.za>
2013-09-19 11:48:13serhiy.storchakalinkissue19048 messages
2013-09-19 11:48:13serhiy.storchakacreate