Re: Python subinterpreters with separate GILs

2021-02-10 Thread Christian Heimes
On 11/02/2021 03.51, James Lu wrote:
> Directly removing the Global Interpreter Lock (GIL) would break a lot
> of libraries that implicitly assume it is there. What if Python had
> "realms" that each had separate GILs?
> 
> The "realms" (not sure if "subinterpreter" is the correct term here)
> could share objects.

Eric Snow and others have been working on that since 2017,
https://www.python.org/dev/peps/pep-0554/

-- 
https://mail.python.org/mailman/listinfo/python-list


Re: Python subinterpreters with separate GILs

2021-02-10 Thread Cameron Simpson
On 10Feb2021 21:51, James Lu  wrote:
>Directly removing the Global Interpreter Lock (GIL) would break a lot
>of libraries that implicitly assume it is there. What if Python had
>"realms" that each had separate GILs?
>
>The "realms" (not sure if "subinterpreter" is the correct term here)
>could share objects.

If realms can shared objects then they'd need the same GIL, because 
otherwise objects are not protected from concurrency via different 
realms. CPython code and C code, unless it has itself released the GIL, 
assumes it is the exclusive user of objects - that's what the GIL means.  
Separate GILs would mean different realms' GIL-holding threads could run 
against a shared object at the same time.

Cheers,
Cameron Simpson 
-- 
https://mail.python.org/mailman/listinfo/python-list


Python subinterpreters with separate GILs

2021-02-10 Thread James Lu
Directly removing the Global Interpreter Lock (GIL) would break a lot
of libraries that implicitly assume it is there. What if Python had
"realms" that each had separate GILs?

The "realms" (not sure if "subinterpreter" is the correct term here)
could share objects.
-- 
https://mail.python.org/mailman/listinfo/python-list