Serhiy Storchaka added the comment:
> For the PyAccu, AFAICT, objects cannot leak out of it (except for
> gc.getobjects in debug mode).
Not only in debug mode.
>>> import io, gc
>>> s=io.StringIO()
>>> s.write('12345')
5
>>> s.write('qwerty')
6
>>> for o in gc.get_objects():
... if "'123" in repr(o) and len(repr(o)) < 1000:
... print(type(o), repr(o))
...
<class 'list'> ['12345', 'qwerty']
<class 'list'> ['o', 'gc', 'get_objects', 'repr', 'o', "'123", 1000, 'len',
'repr', 'o', 'print', 'type', 'o', 'repr', 'o']
<class 'tuple'> ("'123", 1000, None)
Someone can summarize sys.getsizeof() for all managed by GC objects and
therefore count internal objects twice.
I think the standard library should provide a method for recursive calculation
of memory (in some sense, perhaps using different strategies), but that should
wait up to 3.4. __sizeof__ should count non-object memory that is not available
for GC. As I understand it.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue15490>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com