[Python-Dev] PEP 554 v3 (new interpreters module) (original) (raw)

Antoine Pitrou solipsis at pitrou.net
Wed Oct 4 11:50:33 EDT 2017


On Mon, 2 Oct 2017 21:31:30 -0400 Eric Snow <ericsnowcurrently at gmail.com> wrote:

> By contrast, if we allow an actual bytes object to be shared, then > either every INCREF or DECREF on that bytes object becomes a > synchronisation point, or else we end up needing some kind of > secondary per-interpreter refcount where the interpreter doesn't drop > its shared reference to the original object in its source interpreter > until the internal refcount in the borrowing interpreter drops to > zero. There shouldn't be a need to synchronize on INCREF. If both interpreters have at least 1 reference then either one adding a reference shouldn't be a problem.

I'm not sure what Nick meant by "synchronization point", but at least you certainly need INCREF and DECREF to be atomic, which is a departure from today's Py_INCREF / Py_DECREF behaviour (and is significantly slower, even on high-level benchmarks).

Regards

Antoine.



More information about the Python-Dev mailing list