Beginner's guide to Python

Steven D'Aprano steve at pearwood.info
Thu Sep 5 03:27:58 EDT 2013


On Thu, 05 Sep 2013 14:14:34 +1000, Chris Angelico wrote:

> ...Python's object model tends to be less well suited to massive
> scaling; 

That's probably true.


> I don't know about PyPy and other Pythons, but certainly
> CPython isn't designed to run on arbitrary numbers of cores (once you go
> to multiprocessing, you then need to worry about IPC; if you work in a
> lower level language like C, you can use threads and directly access
> each other's memory). 

I think that's an exaggeration. CPython *is* designed to run on an 
arbitrary number of cores, but you need to approach it via techniques 
that you might not use in other languages.

It would only be valid to say that "CPython is not designed to use 
multiple cores" if threads were the *only* valid way to use multiple 
cores. "Use multiprocessing" is just as much a valid way to use multiple 
cores as "use threads" might be in another language, and by some 
accounts, better than threads.

Or you can use IronPython or Jython, neither of which have the GIL. Or 
use Stackless:

http://entitycrisis.blogspot.com.au/2009/06/stackless-vs-gil-its-draw.html


-- 
Steven



More information about the Python-list mailing list