Mark Shannon <m...@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 <rep...@bugs.python.org>
<https://bugs.python.org/issue40255>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to