<div dir="ltr"> ghc -Onot -fstrictness --make Main1.hs && ghc -Onot -fstrictness --make Main2.hs && ghc -Onot -fstrictness --make Main3.hs<br><br>time Main1 < nums<br>real 0m39.530s<br>user 0m0.015s<br>
sys 0m0.030s<br><br> time Main2 < nums<br>real 0m14.078s<br>user 0m0.015s<br>sys 0m0.015s<br><br> time Main3.exe < nums<br>real 0m41.342s<br>user 0m0.015s<br>sys 0m0.015s<br><br>still, i'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&lang=ghc&id=2">http://shootout.alioth.debian.org/gp4/benchmark.php?test=sumcol&lang=ghc&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"><<a href="mailto:dons@galois.com">dons@galois.com</a>></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">> just for the kicks i tried the new version of bytestring without -O2 and<br>
> 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'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>