[Haskell-cafe] Re: Climbing up the shootout...
Simon Marlow
simonmarhaskell at gmail.com
Wed Sep 24 13:33:12 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.
Before doing this, though, I'd urge you to check that your application
really does have scaling issues with the current system. If it doesn't,
then great, and if it does then you have a good benchmark to evaluate
the replacement.
Cheers,
Simon
More information about the Haskell-Cafe
mailing list