[Python-ideas] The async API of the future: Reactors
Trent Nelson
trent at snakebite.org
Sat Oct 13 03:11:20 CEST 2012
On Fri, Oct 12, 2012 at 03:49:36PM -0700, Guido van Rossum wrote:
> [Responding to yet another message in the original thread]
>
> On Thu, Oct 11, 2012 at 9:45 PM, Trent Nelson <trent at snakebite.org> wrote:
> > It's the best way to do it. There should really be a libevent-type
> > library (libiocp?) that leverages IOCP where possible, and fakes it
> > when not using a half-sync/half-async pattern with threads and epoll
> > or kqueue on Linux and FreeBSD, falling back to processes and poll
> > on everything else (NetBSD, OpenBSD and HP-UX (the former two not
> > having robust-enough pthread implementations, the latter not having
> > anything better than select or poll)).
>
> In which category does OS X fall?
Oh, how'd I forget about OS X! At the worst, it falls into the
FreeBSD kqueue camp, having both a) kqueue and b) a performant
pthread implementation.
However, with the recent advent of Grand Central Dispatch, it's
actually on par with Windows' IOCP+threadpool offerings, which is
pretty cool. (And apparently there are GCD ports in the works for
Solaris, Linux and... Windows?!)
Will reply to the other questions in a separate response.
Trent.
More information about the Python-ideas
mailing list