[Haskell-cafe] newbie question about list performance
John Lato
jwlato at gmail.com
Mon Oct 29 01:02:47 EDT 2007
Hello,
I've been following the list optimization thread with great interest,
as it pertains to something I'm working on at the moment. I'm working
with moderate-sized files (tens to hundreds of MBs) that have some
ascii header data followed by a bunch of 32-bit ints. I can read the
files into a lazy ByteString (and parse the header), but I'd like some
advice as to the best data type to convert the ints into. Ideally,
I'd have some functions like this:
decode :: ByteString -> (FileFormat, [Int32])
encode :: FileFormat -> [Int32] -> ByteString
but I don't know if Int32 is actually the best choice. It seems to me
that something like a lazy list of strict arrays (analogous to a lazy
bytestring) would be better. Is there a library like this already?
Or is this a case of premature optimization, and I should just try the
list and see if it's good enough? Any suggestions would be
appreciated.
Also, I'd like to let the maintainers and implementors know that I
really appreciate the work that's been done on optimizing Haskell. I
haven't used Haskell much yet, but I've fallen in love with the
language and it's great to see that performance even for heavy I/O
tasks can be comparable to or exceed C.
Thank you,
John Lato
More information about the Haskell-Cafe
mailing list