Mark Shannon <[email protected]> added the comment:
This can be mitigated, if not entirely fixed, by storing an ordering bit vector
in the values.
This way all instances of the class SometimesShared in the example above can
share the keys.
The keys might be ("optional", "attr")
For any instances with only "attr" as an attibute, the values would be (NULL,
value) and the order would be (1,)
The downsides of this approach are:
1. Each values, and thus dict needs an extra 64 bit value.
2. Shared keys have a maximum size of 16.
Overall, I expect the improved sharing to more than compensate for the
disadvantages.
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue40116>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com