[Python-ideas] solving multi-core Python

Eric Snow ericsnowcurrently at gmail.com
Sun Jun 21 02:58:18 CEST 2015


On Sat, Jun 20, 2015 at 6:41 PM, Chris Angelico <rosuav at gmail.com> wrote:
> On Sun, Jun 21, 2015 at 7:42 AM, Eric Snow <ericsnowcurrently at gmail.com> wrote:
>> * disallow forking within subinterpreters
>
> I love the idea as a whole (if only because the detractors can be told
> "Just use subinterpreters, then you get concurrency"), but this seems
> like a tricky restriction. That means no subprocess.Popen, no shelling
> out to other applications. And I don't know what of other restrictions
> might limit any given program.

This is just something I'm thinking about.  To be honest, forking
probably won't be a problem.  Furthermore, if there were any
restriction it would likely just be on forking Python (a la
multiprocessing).  However, I doubt there will be a need to pursue
such a restriction.  As I said, there are still a lot of open
questions and subtle details to sort out.

> Will it feel like subinterpreters are
> "write your code according to these tight restrictions and it'll
> work", or will it be more of "most programs will run in parallel just
> fine, but there are a few things to be careful of"?

I expect that will be somewhat the case no matter what.  The less
restrictions the better, though. :)  It's a balancing act because I
expect that with some initial restrictions we can land the feature
sooner.  Then we could look into how to relax the restrictions.  I
just want to be careful that we don't paint ourselves into a corner in
that regard.

-eric


More information about the Python-ideas mailing list