Observation:<br><br>The best gcc result shown in the thread, if I recall, precomputed the result of the full computation at compiletime and simply outputted it, when we looked at the assembly.<br><br>While I will accept that this could be seen as an optimization GHC should have made, I do not accept that this will be the case with most everyday code a programmer writes, as most code is not used to simply compute arithmetic constants.<br>
<br>For code that actively requires computation at runtime, I have seen no examples of an instance where well-optimized GHC is actually dozens or hundreds of times slower than GCC output.<br><br clear="all">Louis Wasserman<br>
<a href="mailto:wasserman.louis@gmail.com">wasserman.louis@gmail.com</a><br>
<br><br><div class="gmail_quote">On Sat, Feb 21, 2009 at 5:21 PM, Bulat Ziganshin <span dir="ltr">&lt;<a href="mailto:bulat.ziganshin@gmail.com">bulat.ziganshin@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello Louis,<br>
<div class="Ih2E3d"><br>
Saturday, February 21, 2009, 4:16:10 AM, you wrote:<br>
<br>
&gt; In the meantime, a brief summary:<br>
<br>
</div>a minor correction: the best gcc result shown in the thread was 50x<br>
faster than Don&#39;s one, so you need to miltiple all ratios by a factor<br>
of 50<br>
<div class="Ih2E3d"><br>
&gt; Straightforward and simple Haskell code, written by an individual<br>
&gt; aware of issues with tail recursion and stream fusion, is frequently<br>
&gt; within 3x the speed of GCC code when compiled with appropriate<br>
&gt; optimizations in GHC.<br>
<br>
</div>yes, within 150x margin<br>
<div class="Ih2E3d"><br>
&gt; When performance is an absolute necessity,<br>
&gt; Haskell code can sometimes be manually modified (e.g. with manual<br>
&gt; loop unrolls) to equal GCC in performance.<br>
<br>
</div>yes, to make it only 50x slower while being only 7 times larger (i<br>
mean source lines)<br>
<br>
&gt; Can we move on?<br>
<br>
yes, we can! :)<br>
<font color="#888888"><br>
<br>
--<br>
Best regards,<br>
&nbsp;Bulat &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;mailto:<a href="mailto:Bulat.Ziganshin@gmail.com">Bulat.Ziganshin@gmail.com</a><br>
<br>
</font></blockquote></div><br>