[Python-3000] the future of the GIL (original) (raw)

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