global interpreter lock

Bryan Olson fakeaddress at nowhere.org
Mon Aug 29 16:17:39 EDT 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
services.

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.


-- 
--Bryan



More information about the Python-list mailing list