[Haskell-beginners] Data.Binary.Get for large files

Philip Scott haskell-beginners at foo.me.uk
Fri Apr 30 17:06:07 EDT 2010


Hi Daniel

> Replace getFloat64le with e.g. getWord64le to confirm.
> The reading of IEEE754 floating point numbers seems rather complicated.
> Maybe doing it differently could speed it up, maybe not.
>
>    
That speeds things up by a factor of about 100 :)

I think there must be some efficiency to be extracted from there 
somewhere.. Either the IEEE module or the Data.Binary.Get.

Is it possible to get the profiler to look deeper than the top level 
module? With all the options I could find, it only ever tells me about 
things in the file I am dealing with..Hm, 200MB file => ~25 million 
Doubles, such a list needs at least 400MB.

> Still a long way to 2GB. I suspect you construct a list of thunks, not
> Doubles.
>    

I think you are almost certainly right. Is there an easy way to see 
if/how/where this is happening?

Thanks once again,

Philip


More information about the Beginners mailing list