[Python-ideas] asyncore: included batteries don't fit

Mark Adam dreamingforward at gmail.com
Fri Oct 12 03:38:43 CEST 2012


On Thu, Oct 11, 2012 at 7:34 PM, Guido van Rossum <guido at python.org> wrote:
> On Thu, Oct 11, 2012 at 5:29 PM, Terry Reedy <tjreedy at udel.edu> wrote:
>> On 10/11/2012 5:18 PM, Guido van Rossum wrote:
>>
>>> Anyway, it would be good to have input from representatives from Wx,
>>> Qt, Twisted and Tornado to ensure that the *functionality* required is
>>> all there (never mind the exact signatures of the APIs needed to
>>> provide all that functionality).
>>
>>
>> And of course tk/tkinter (tho perhaps we can represent that). It occurs to
>> me that while i/o (file/socket) events can be added to a user (mouse/key)
>> event loop, and I suspect that some tk/tkinter apps do so, it might be
>> sensible to keep the two separate. A master loop could tell the user-event
>> loop to handle all user events and then the i/o loop to handle one i/o
>> event. This all depends on the relative speed of the handler code.

Here's the thing:  the underlying O.S is always handling two major I/O
channels at any given time and it needs all it's attention to do this:
 the GUI and one of the following (network, file) I/O.  You can
shuffle these around all you want, but somewhere the O.S. kernel is
going to have to be involved, which means either portability is
sacrificed or speed if one is going to pursue and abstract, unified
async API.

> You should talk to a Tcl/Tk user (if there are any left :-).

I used to be one of those :)

mark



More information about the Python-ideas mailing list