This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author methane
Recipients berker.peksag, methane, minrk, vstinner, xiang.zhang
Date 2016-09-14.20:16:59
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1473884219.69.0.826381374874.issue28147@psf.upfronthosting.co.za>
In-reply-to
Content
This issue is caused by dictresize() and _PyObjectDict_SetItem()

1. a.__dict__.pop('a') convert the dict to combined table which has double keysize.
2. a.a = 1  converts the dict to split table again if there are no instances sharing key with class.

As I wrote before, pop, popitem, and del should not increase key size.

And _PyObjectDict_SetItem shouldn't convert the dict to split-table when the dict doesn't share keys
with the class before calling PyDict_SetItem.
History
Date User Action Args
2016-09-14 20:16:59methanesetrecipients: + methane, vstinner, berker.peksag, minrk, xiang.zhang
2016-09-14 20:16:59methanesetmessageid: <1473884219.69.0.826381374874.issue28147@psf.upfronthosting.co.za>
2016-09-14 20:16:59methanelinkissue28147 messages
2016-09-14 20:16:59methanecreate