[Python-Dev] PEP 554 v3 (new interpreters module)
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