2.6, 3.0, and truly independent intepreters
andy55 at gmail.com
Wed Oct 22 21:26:44 CEST 2008
> > - In python 3, the C module API now supports true interpreter
> > independence, but have all the modules in the python codebase been
> > converted over?
> No, none of them.
> > - How close is python 3 really to true multithreaded use?
> Python is as thread-safe as ever (i.e. completely thread-safe).
If you're referring to the fact that the GIL does that, then you're
certainly correct. But if you've got multiple CPUs/cores and actually
want to use them, that GIL means you might as well forget about them.
So please take my use of "true multithreaded" to mean "turning off"
the GIL and push the responsibility of object safety to the client/API
level (such as in my QuickTime API example).
> > I believe that true python independent thread/interpreter support is
> > paramount and should become the top priority because this is the key
> > consideration used by developers when they're deciding which
> > interpreter to embed in their app. Until there's a hello world that
> > demonstrates running independent python interpreters on multiple app
> > threads, lua will remain the clear choice over python. Python 3 needs
> > true interpreter independence and multi-threaded support!
> So what patches to achieve that goal have you contributed so far?
> In open source, pleas have nearly zero effect; code contributions is
> what has effect.
This is just my second email, please be a little patient. :^) But
more seriously, I do represent a company ready, able, and willing to
fund the development of features that we're looking for, so please
understand that I'm definitely not coming to the table empty-handed
> I don't think any of the current committers has a significant interest
> in supporting multiple interpreters (and I say that as the one who wrote
> and implemented PEP 3121). To make a significant change, you need to
> start with a PEP, offer to implement it once accepted, and offer to
> maintain the feature for five years.
Nice to meet you! :^) Seriously though, thank you for all your work on
3121 and taking the initiative with it! It's definitely the first
step in what companies like ours attract us to embedded an interpreted
language. Specifically: unrestricted interpreter and thread-
I would *love* for our company to be 10 times larger and be able to
add another zero to what we'd be able to hire/offer the python dev
community for work that we're looking for, but we unfortunately have
limits at the moment. And I would love to see python become the
leading choice when companies look to use an embedded interpreter, and
I offer my comments here to paint a picture of what can make python
more appealing to commercial software developers. Hopefully, the
python dev community doesn't underestimate the dev funding that could
potentially come in from companies if python grew in certain ways!
So, that said, I represent a company willing to fund the development
of features that move python towards thread-independent operation. No
software engineer can deny that we're entering a new era of
multithreaded processing where support frameworks (such as python)
need to be open minded with how they're used in a multi-threaded
environment--that's all I'm saying here.
Anyway, I can definitely tell you and anyone else interested that
we're willing to put our money where our wish-list is. As I mentioned
in my previous post to Thomas, the next step is to get an
understanding of the options available that will satisfy our needs.
We have a budget for this, but it's not astronomical (it's driven by
the cost associated with dropping python and going with lua--or,
making our own pared-down interpreter implementation). Please let me
be clear--I love python (as a language) and I don't want to switch.
BUT, we have to be able to run interpreters in different threads (and
get unhindered/full CPU core performance--ie. no GIL).
Thoughts? Also, please feel free to email me off-list if you prefer.
Oh, while I'm at it, if anyone in the python dev community (or anyone
that has put real work into python) is interested in our software,
email me and I'll hook you up with a complimentary copy of the
products that use python (music visuals for iTunes and WMP).
More information about the Python-list