global interpreter lock

Bryan Olson fakeaddress at
Mon Aug 29 22:17:39 CEST 2005

Mike Meyer wrote:
 > Bryan Olson writes:
 > phil hunt wrote:
 >> > What's important is *predictability*, e.g. which instruction will
 >> > the computer execute next?
 >> >
 >> > If you only have one thread, you can tell by looking at the code
 >> > what gets executed next. It's very simple.
 >>Not really. Trivially, an 'if' statement that depends upon input
 >>data is statically predictable. Use of async I/O means makes the
 >>programs execution dependent upon external timing.
 > Yes, but that depenency is tied to a single point - the select
 > call. The paths after that are statically predictable. This makes the
 > code very managable.

Wow -- I could not disagree more. Returning back to some single
point for every possibly-blocking operation is painful to manage
even for simple GUIs, and humanly intractable for sophisticated

Select is certainly useful, but it scales badly and isn't as
general as better tools.

 > [...] I'm calling the tools available in most programming
 > languages for dealing with it primitive.
 > We need better tools.

Agreed, but if 'select' is someone's idea of the state of the
art, they have little clue as to the tools already available.
Bringing the tools to Python remains a bit of challenge, largely
because so many Pythoners are unaware.


More information about the Python-list mailing list