[Python-3000] the future of the GIL

Greg Ewing greg.ewing at canterbury.ac.nz
Thu May 10 05:27:34 CEST 2007


Talin wrote:

> Thought experiment: Suppose you were writing and brand-new dynamic 
> language today, designed to work efficiently on multi-processor systems. 
> Forget all of Python's legacy implementation details such as GILs and 
> refcounts and such. What would it look like, and how well would it 
> perform? (And I don't mean purely functional languages a la Erlang.)

Although I wouldn't make it purely functional, I think
I'd take some ideas from things like Erlang and Occam.

In particular, I'd keep the processes/threads/whatever
as separated as possible, communicating only via well-
defined channels having copy semantics for mutable objects.

Anything directly shared between processes (code objects,
classes, etc.) would be read-only, and probably exempt
from refcounting to enable access without locking.

Hmmm... guess I'll have to go away and design PyLang
now. :-)

-- 
Greg Ewing, Computer Science Dept, +--------------------------------------+
University of Canterbury,	   | Carpe post meridiem!          	  |
Christchurch, New Zealand	   | (I'm not a morning person.)          |
greg.ewing at canterbury.ac.nz	   +--------------------------------------+


More information about the Python-3000 mailing list