[Haskell-cafe] [GHC 7.8.4] IO Monad leak space?
Tom Ellis
tom-lists-haskell-cafe-2013 at jaguarpaw.co.uk
Thu Jul 9 08:12:53 UTC 2015
On Sat, Jul 04, 2015 at 06:17:06AM +0000, Baojun Wang wrote:
> Appreciate for the prompt reply, sorry for that I assumed the allocations
> was caused by space leak. I guess profiling with -auto-all really has huge
> impact on allocations. without profiling, haskell version runs about 50%
> slower than equivalent C version (both with -O2). Maybe that's as much as
> one could expect.
50% sounds like a good start, but I bet with some time and effort you can
substantially improve on it. Specifically, the code is spending
*loads* of time doing bounds checking. It checks on every array read and
write.
I suggest (for an experiment, not production code!) you replace the reads
and writes with unsafe versions and see what speedup that gives you. I
don't know how to do unsafe reads and writes with the array library, but for
vectors the API is here:
http://hackage.haskell.org/package/vector-0.10.12.3/docs/Data-Vector-Mutable.html#g:10
Tom
More information about the Haskell-Cafe
mailing list