multi-core-python
multi-core-python copied to clipboard
Enabling CPython multi-core parallelism via subinterpreters.
PEP 554 is entitled "Multiple Interpreters in the Stdlib", yet the term "subinterpreters" is used throughout this repo. There is the additional confusion of the C struct names. It seems...
https://bugs.python.org/issue36225
The `_ast` module uses global state with heap types, so it is possible to do: ```python import _xxsubinterpreters import _ast _ast.Lambda.smuggled = 'any object' interp = _xxsubinterpreters.create() _xxsubinterpreters.run_string(interp, 'import _ast;...
In my C++ simulation platform, I load DLLs with user-made plugins that each get their own thread and update loop, and all cross-plugin state access is controlled by strict mutexing....
This could be done with the following: 1. run the full CPython test suite (regrtest) inside a subinterpreter 2. create an issue for each failure There are also possible issues...
Issue #22 is about making use of subinterpreters (specifically the PEP 554 API) in the CPython test suite. Until PEP 554 is accepted (or if it isn't) we should add...
(Note that this is more of a future enhancement than a blocker for PEP 554, etc.) from [PEP 554](https://www.python.org/dev/peps/pep-0554/#uncaught-exceptions): > Regarding uncaught exceptions in Interpreter.run(), we noted that they are...
[maybe split into more granular tasks] 1. move the global state back to Include/internal (see below) 2. move `PyRuntimeState.obj` to `PyInterpreterState.obj` 3. move `PyRuntimeState.mem` to `PyInterpreterState.mem` Notable concerns: * very...
[probably last thing to move] blockers: - [ ] #33 - [ ] #27 - [x] #29 - [ ] #30 - [x] #31 - [x] #28
Currently the low-level function to "send" an object over a channel is fire-and-forget. We need a way to do the same thing but block until the object is received. Solutions:...