On Tue, Oct 30, 2012 at 10:50 AM, Richard Oudkerk <shibturn@gmail.com> wrote:
On 30/10/2012 4:40pm, Guido van Rossum wrote:
What kind of time savings are we talking about? I imagine that the accept() loop I put in tulip/echosvr.py is fast enough in terms of response time (latency) -- throughput would seem the more important measure (and I have no idea of this yet). http://code.google.com/p/tulip/source/browse/echosvr.py#37
With Windows overlapped I/O I think you can get substantially better throughput by starting many AcceptEx() calls in parallel. (For bonus points you can also recycle the accepted connections using DisconnectEx().)
Hm... I already have on my list that the transports should probably be platform dependent. So this would suggest that the standard accept loop should be abstracted as a method on the transport object, right?
Even so, Windows socket code always seems to be much slower than the equivalent on Linux.
Is this Python sockets code or are you also talking about other languages, like C++? -- --Guido van Rossum (python.org/~guido)