[Python-ideas] An alternate approach to async IO

Trent Nelson trent at snakebite.org
Thu Nov 29 00:04:51 CET 2012


On Wed, Nov 28, 2012 at 02:52:49PM -0800, Richard Oudkerk wrote:
> On 28/11/2012 10:40pm, Trent Nelson wrote:
> >      And compare that with the ultimate performance killer of a single
> >      thread that periodically calls GetQueuedCompletionStatus when it's
> >      ready to process some IO, and you can see how strange it would seem
> >      to take that approach.  You're getting all the complexity of IOCP
> >      and overlapped IO with absolutely none of the benefits.
> 
> BTW, GetQueuedCompletionStatusEx() lets you dequeue an array of messages 
> instead of working one at a time.

    Right.  The funny thing about that is it's only available in Vista
    onwards.  And if you're on Vista onwards, the new thread pool APIs
    available, which negate the need to call GetQueuedCompletionStatus*
    at all.

        Trent.



More information about the Python-ideas mailing list