
On Tue, Dec 14, 2021 at 11:19 AM Eric Snow <ericsnowcurrently@gmail.com> wrote:
The idea of objects that never get deallocated isn't new and has been explored here several times. Not that long ago I tried it out by setting the refcount really high. That worked. Around the same time Eddie Elizondo at Facebook did something similar but modified Py_INCREF() and Py_DECREF() to keep the refcount from changing. Our solutions were similar but with different goals in mind. (Facebook wants to avoid copy-on-write in their pre-fork model.)
FTR, here are links to the above efforts: * reducing CoW (Instagram): https://bugs.python.org/issue40255 * Eddie's PR: https://github.com/python/cpython/pull/19474 * my PR: https://github.com/python/cpython/pull/24828 * some other discussion: https://github.com/faster-cpython/ideas/issues/14 (I don't have a link to any additional work Eddie did to reduce the performance penalty.) -eric