[issue40255] Fixing Copy on Writes from reference counting
Mark Shannon
report at bugs.python.org
Thu Apr 16 08:15:11 EDT 2020
Mark Shannon <mark at hotpy.org> added the comment:
A big -1 to this.
You are asking the whole world to take a hit on both performance and memory use, in order to save Instagram memory.
The PR uses the term "immortal" everywhere. There is only one reference to copy-on-write in a comment. Yet this issue about making object headers immutable.
Immortality and object header immutability are not the same.
If object header immutability is to be a requirement, that needs a PEP.
If it is not requirement, but immortality is, then make the obvious improvement of changing the branchy code
if (!(obj->refcnt & IMMORTAL_BIT)) {
obj->refcnt++;
}
to the branchless
obj->refcnt += ((obj->refcnt &IMMORTAL_BIT) != 0)
Immortality has advantages because it allows saturating reference counting and thus smaller object headers, but it is not the same as making the object header immutable.
----------
nosy: +Mark.Shannon
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue40255>
_______________________________________
More information about the Python-bugs-list
mailing list