INADA Naoki added the comment:
> AST objects are supposed to be temporary. Interning strings used in the AST
> processor would make these strings immortal and so increase the memory usage,
> no?
> What is the purpose of the patch? Speedup or reduce the memory usage?
The three identifiers are used in type. Dozen (100+) types using them.
>>> import _ast
>>> _ast.Dict.__dict__
mappingproxy({'_fields': ('keys', 'values'), '__module__': '_ast', '__doc__':
None})
>>> _ast.DictComp.__dict__
mappingproxy({'_fields': ('key', 'value', 'generators'), '__module__': '_ast',
'__doc__': None})
Each string uses about 50 bytes. So 50 * 3 * 100 = 15KB may be reduced.
But main purpose is less noise when looking memory usage of Python.
----------
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue29369>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com