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 vstinner
Date 2020-05-05.13:13:51
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1588684431.91.0.693668036583.issue40514@roundup.psfhosted.org>
In-reply-to
Content
Modifying Python internals to have one GIL per interpreter (bpo-40512) is a large project which requires to modify many small things (again, see bpo-40512).

I propose to add a temporary build --experimental-isolated-subinterpreters build option to configure for developers who want to hack on isolated subinterpreters. The intent is to speedup bpo-40512 development by making some practice compromises, to have more time to properly design the real fixes.

For example, tuple, dict and frame have free lists which are shared by subinterpreters. A practical solution is to simply disable them at build time to avoid the need to have per-interpreter free lists.

Another example is pymalloc which is shared by all subinterpreters and rely on the unique global interpreter lock (GIL) to protect its internal states. A practical solution is to disable it and force the usage of libc malloc() function instead.

Some compromosises cannot be the default since they have a significant negative impact on performances. So I propose to add a temporary build option until all these small issues will be fixed.
History
Date User Action Args
2020-05-05 13:13:51vstinnersetrecipients: + vstinner
2020-05-05 13:13:51vstinnersetmessageid: <1588684431.91.0.693668036583.issue40514@roundup.psfhosted.org>
2020-05-05 13:13:51vstinnerlinkissue40514 messages
2020-05-05 13:13:51vstinnercreate