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 <rep...@bugs.python.org> <http://bugs.python.org/issue29369> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com