Hacker News new | ask | show | jobs
by ynik 1047 days ago
Because every Python object also contains a reference count (which needs to be modified whenever the object is passed around), a `const PyObject*` is effectively useless.
1 comments

But we’re talking about an integer cache. It’s full of singletons; Why do they need to have reference counts?
This special casing just had not been implemented yet. But as it is an interesting optimization, more so with multi-interpreter or no-GIL Python, the developers will actually introduce immortal objects in Python 3.12 to avoid counting references on some objects (PEP 683 has been accepted):

https://peps.python.org/pep-0683/