[Haskell-cafe] I/O performance drop in ghc 6.12.1

Svein Ove Aas svein.ove at aas.no
Thu Jan 14 17:44:13 EST 2010


On Thu, Jan 14, 2010 at 11:38 PM, Bryan O'Sullivan <bos at serpentine.com> wrote:
> On Thu, Jan 14, 2010 at 2:30 PM, Peter Simons <simons at cryp.to> wrote:
>>
>> I just updated to GHC 6.12.1, and I noticed a significant drop in I/O
>> performance that I can't explain.
>
> This is probably brought about by the new Unicode I/O support in 6.12. Your
> file isn't open in binary mode, so it's probably getting translated from
> something like UTF-8 before it reaches you. Might want to compare the two.
> I'm a little surprised by the magnitude of the difference; I might have
> expected it to be 33%, not 400%.
>
Hold on, he's using hGetBuf/hPutBuf.

Although I'd suggest wrapping that in bytestrings.. the point is,
those functions are documented to ignore encoding and always use
binary I/O. There shouldn't be a difference at all.

I wonder if the difference goes away if the handle is explicitly set
to binary? It shouldn't, but then again it shouldn't exist in the
first place.

-- 
Svein Ove Aas


More information about the Haskell-Cafe mailing list