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