
On Tue, 2009-08-25 at 09:18 -0700, Bryan O'Sullivan wrote:
On Tue, Aug 25, 2009 at 5:03 AM, Simon Marlow
wrote: Right now, that means making Handles from Sockets (which is something the current network library provides). And then you use the bytestring library to write bytestrings to the Handle. In the future we'll have a way to write text to a Handle too.
I remember seeing notes about the new I/O code being about 20-25% slower than the old, due to support for character set transcoding. If my recollection is correct, would that hold true for writing ByteStrings, too? (Yes, I'm somewhat performance obsessed.)
As far as I know the only slow down is when there is actual text decoding going on, ie not for ByteString I/O. Simon has promised to explain all in his upcoming talk at the Haskell Implementers' Workshop. :-) That will also be the obvious time to discuss what a new public I/O interface might look like. There's lots of fun new machinery in GHC's I/O system but we need to talk about public APIs. Duncan