<div dir="ltr"> ghc -Onot -fstrictness --make Main1.hs &amp;&amp; ghc -Onot -fstrictness --make Main2.hs &amp;&amp; ghc -Onot -fstrictness --make Main3.hs<br><br>time Main1 &lt; nums<br>real&nbsp;&nbsp;&nbsp; 0m39.530s<br>user&nbsp;&nbsp;&nbsp; 0m0.015s<br>
sys&nbsp;&nbsp;&nbsp;&nbsp; 0m0.030s<br><br> time Main2 &lt; nums<br>real&nbsp;&nbsp;&nbsp; 0m14.078s<br>user&nbsp;&nbsp;&nbsp; 0m0.015s<br>sys&nbsp;&nbsp;&nbsp;&nbsp; 0m0.015s<br><br> time Main3.exe &lt; nums<br>real&nbsp;&nbsp;&nbsp; 0m41.342s<br>user&nbsp;&nbsp;&nbsp; 0m0.015s<br>sys&nbsp;&nbsp;&nbsp;&nbsp; 0m0.015s<br><br>still, i&#39;m going to google up strictness analysis to at least know what made no difference in this case ;-)<br>
<br>btw, why is the example #2 (<a href="http://shootout.alioth.debian.org/gp4/benchmark.php?test=sumcol&amp;lang=ghc&amp;id=2">http://shootout.alioth.debian.org/gp4/benchmark.php?test=sumcol&amp;lang=ghc&amp;id=2</a>) (which kicks collective asses of all other participants) not considered in the shootout ? Too much optimizations ?<br>
<br><div class="gmail_quote">On Tue, Oct 7, 2008 at 6:27 AM, Don Stewart <span dir="ltr">&lt;<a href="mailto:dons@galois.com">dons@galois.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;">
666wman:<br>
<div class="Ih2E3d">&gt; &nbsp; &nbsp;just for the kicks i tried the new version of bytestring without -O2 and<br>
&gt; &nbsp; &nbsp;the results were even worse:<br>
<br>
</div>Note that without -O or -O2 no strictness analysis is performed. So that<br>
tail recursive loop ... won&#39;t be. You could try -Onot -fstrictness just<br>
for kicks, to see why strictness analysis is important when writing in a<br>
tail recursive style.<br>
<font color="#888888"><br>
-- Don<br>
</font></blockquote></div><br></div>