
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=2)
(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
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