(This was a personal email I sent Edward recently, but he suggested the relax dev's may like to see it since it does raise an important issue to keep in mind for future design decisions)
Not sure if you read the discussion linked via Slashdot about Python 3000, Bruce Eckel vs Guido,
here, here and
here.
I just discovered something important I never realized (or maybe discovered, then forgot again):
"I know
that true concurrency support -- the ability to run pieces of a program
on multiple processors -- is hard in a dynamic language. Although they
both have threads, neither Python nor Ruby is able to actually allocate
those threads to multiple processors. The threading is just for code
organization and to handle blocking operations. Ruby and Python are
prevented from using multiple cores because they both suffer from the
global interpreter lock problem."This is a good reason to have gone with a master-slave type model with independent processes in relax ... pythons threads apparently wouldn't help on a multi-CPU machine ! Yek !
Andrew
--
Postdoctoral Researcher, Trevor Lithgow Lab
Department of Biochemistry and Molecular Biology
Bio21 Molecular Science and Biotechnology Institute
30 Flemington Road, University of Melbourne
Parkville 3010, AUSTRALIA
Ph: +61 3 834442298 || Email:
ajperry@xxxxxxxxxxxxxx
----