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.
On Fri, Jul 03, 2015 at 06:00:48PM +0000, Baojun Wang wrote:
> My concerns is ~80% alloc happens in f3, but both array is allocated by
> newArray? Since I'm using unboxed array I'm not expecting this kind of
> laziness.
I see. You seem to be asking why it is allocating *at all*. That's not
a phenomenon that normally falls under the terminology of "space leak",
hence my confusion.
I'm not an expert at reading Core, but I spent some time looking at it
without seeing anywhere that would obviously allocate a lot. Eventually I
decided to supply the profiling options to ghc-core and lo and behold the
output changed dramatically!
Unless I am very much misunderstanding how cost centre annotations work, the
amount of allocation without -auto-all is only 10% of the amount with it.
Please check and let me know if you concur that it is the profiling itself
that is the root cause of all the allocation!
Tom
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe