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