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