This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients eric.snow, jdemeyer, vstinner
Date 2019-04-26.16:21:23
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1556295683.99.0.0524482589441.issue36710@roundup.psfhosted.org>
In-reply-to
Content
Jeroen Demeyer:
> Sorry, but I don't see the relation between this issue and PEP 554.

The long term plan for PEP 554 is to support having one GIL per interpreter for best performances. The GIL lives in _PyRuntime.

It's not just about the GIL. Currently, the gc module stores its state into _PyRuntime. It's wrong to share a single gc state between two interpreters: each interpreter should have its own "namespace" completely isolated from the other namespaces. For example, _PyRuntime.gc.garbage is a Python list: each interpreter should have its own list.

My PR 12934 is only a first step to prepare ceval.c for that.

Said differently, if I understood correctly, each interpreter must have its own _PyRuntime instance.

Maybe tomorrow, we will keep a single _PyRuntime instance, *but* my work is needed to identify the relationship between the current implementation of Python and _PyRuntime.
History
Date User Action Args
2019-04-26 16:21:24vstinnersetrecipients: + vstinner, eric.snow, jdemeyer
2019-04-26 16:21:23vstinnersetmessageid: <1556295683.99.0.0524482589441.issue36710@roundup.psfhosted.org>
2019-04-26 16:21:23vstinnerlinkissue36710 messages
2019-04-26 16:21:23vstinnercreate