Enabling CPython multi-core parallelism via subinterpreters.
This repo is for tracking the effort and as a place to keep any tooling.
From my python-ideas post (June 2015):
Python's multi-core story is murky at best. Not only can we be more
clear on the matter, we can improve Python's support. The result of any
effort must make multi-core (and concurrency) support in Python obvious,
unmistakable, and undeniable (and keep it Pythonic).
The goal of this project is to do just that, by using the existing subinterpreter C-API.
The minimal multi-core solution will involve:
Once a minimal solution is in place we can expand from there.
At a high level, we're doing the following concrete tasks:
PyRuntimeState
to PyInterpreterState
)This project wouldn't be what it is without the help of these great people:
There are many ways to contribute to this project. Aside from the main technical work in the CPython runtime, there are also a number of jobs that need to be done that are less expert-related and even (somewhat) non-technical. All of it is important and anyone interested in helping is welcome!
Keep in mind that this project/repo is actually just a tool to organize the effort. The actual work is done on bugs.python.org, github.com/python/cpython, and the python-dev mailing list.
Also note that contacting @ericsnowcurrently directly is fine, but you might get a faster response through those other channels or through the issue tracker here. :)
For more information see the wiki page.