[issue13903] New shared-keys dictionary implementation

Mark Shannon report at bugs.python.org
Mon Apr 2 17:21:13 CEST 2012


Mark Shannon <mark at hotpy.org> added the comment:

I'm not bothered by the regression in "silent_logging",
as it is a micro benchmark with a very short running time.

The regression in "mako" is, I think, caused by competition for the
data cache between the new dict implementation and the method-cache
used by _PyType_Lookup. Although the new-dict uses less memory overall,
the size of a single split-table dict (keys + value) is larger than a combined table.

Reducing the method-cache size from 2**10 to 2**9 allows the working set to fit better in the cache.
This fixes the regression in "mako", but makes OO programs that use few objects (such as richards) a bit slower.
Compared with tip, the new-dict implementation
is 4% slower, using 7% less memory for mako. 6% slower, using 5% less memory for richards.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13903>
_______________________________________


More information about the Python-bugs-list mailing list