[Haskell-cafe] New IO foundations. [Was: Climbing up the
dons at galois.com
Wed Sep 24 15:37:18 EDT 2008
> Manlio Perillo wrote:
> >Don Stewart ha scritto:
> >>Ok. So I'll just say: high level, efficient code is an overriding theme
> >>of many individuals working on Haskell. Things are better and better
> >>each year. We do not stand still.
> >Any roadmap for improve support in intensive IO multiplexing?
> >Or, at least, some papers about how this is implemented in GHC?
> >Af far as I understand, select is used in two separate places.
> >How much effort it takes to implement a pluggable "reactor" (select,
> >poll, epoll, kqueue, /dev/poll, and so)?
> We'd certainly support any efforts to add support for a more modern I/O
> multiplexing or asynchronous I/O back-end to the IO library. It's not
> too difficult, because the interface between the low-level I/O supplier
> and the rest of the IO library is rather small - just a few functions
> that read and write blocks of data in a blocking or non-blocking way.
> The blocking variants currently communicate with the I/O manager thread
> which does select() on behalf of the clients.
Indeed, it has been done at least once elsewhere,
Check the tarball for a custom bytestring and epoll implementation used
to scale up to 10M haskell threads,
Perhaps something worth resuscitating code for, for more epoll servers.
More information about the Haskell-Cafe