[issue45340] Lazily create dictionaries for plain Python objects

2021-11-30 Thread Irit Katriel
Irit Katriel added the comment: I believe this may have caused the regression in Issue45941. -- nosy: +iritkatriel ___ Python tracker ___

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-20 Thread Mark Shannon
Mark Shannon added the comment: Josh, please reopen if you have more to add. -- resolution: -> fixed stage: patch review -> resolved status: open -> closed ___ Python tracker

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-13 Thread Mark Shannon
Mark Shannon added the comment: New changeset a8b9350964f43cb648c98c179c8037fbf3ff8a7d by Mark Shannon in branch 'main': bpo-45340: Don't create object dictionaries unless actually needed (GH-28802) https://github.com/python/cpython/commit/a8b9350964f43cb648c98c179c8037fbf3ff8a7d

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-12 Thread Mark Shannon
Mark Shannon added the comment: Josh, I'm not really following the details of what you are saying. You claim "Key-sharing dictionaries were accepted largely without question because they didn't harm code that broke them". Is that true? I don't remember it that way. They were accepted

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-08 Thread Josh Rosenberg
Josh Rosenberg added the comment: Hmm... And there's one other issue (that wouldn't affect people until they actually start worrying about memory overhead). Right now, if you want to determine the overhead of an instance, the options are: 1. Has __dict__: sys.getsizeof(obj) +

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-08 Thread Josh Rosenberg
Josh Rosenberg added the comment: Hmm... Key-sharing dictionaries were accepted largely without question because they didn't harm code that broke them (said code gained nothing, but lost nothing either), and provided a significant benefit. Specifically: 1. They imposed no penalty on code

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-07 Thread Mark Shannon
Change by Mark Shannon : -- keywords: +patch pull_requests: +27125 stage: -> patch review pull_request: https://github.com/python/cpython/pull/28802 ___ Python tracker ___

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-02 Thread Dong-hee Na
Change by Dong-hee Na : -- nosy: +corona10 ___ Python tracker ___ ___ Python-bugs-list mailing list Unsubscribe:

[issue45340] Lazily create dictionaries for plain Python objects

2021-10-01 Thread Mark Shannon
New submission from Mark Shannon : A "Normal" Python objects is conceptually just a pair of pointers, one to the class, and one to the dictionary. With shared keys, the dictionary is redundant as it is no more than a pair of pointers, one to the keys and one to the values. By adding a