[Haskell-cafe] An interesting toy
Andrew Coppin
andrewcoppin at btinternet.com
Sat May 5 17:49:38 EDT 2007
> Try adding strictness annotations to all the components of all your
> data structures (i.e. put a ! before the type). Not all of the need
> it, but I doubt any need to be lazy either. Probably the reason
> quant8 seems to be taking so much time is that it is where a lot of
> stuff finally gets forced. Certainly, for things that are "primitive"
> like Colour and Vector you want the components to be strict, in general.
I just did that. Gives a few percent speed increase. (Turns out on my
machine System1 with default options actually takes 5 minutes, not 15.
And with the extra strictness, it completes about 40 seconds faster. So
not a vast speedup - but worth having!)
Also tried playing with GHC options. I found the following:
-fexcess-precision: No measurable effect.
-funbox-strict-fields: Roughly 40 seconds faster again.
-fno-state-hack: Makes the program somewhat *slower*.
-funfolding-update-in-place: No measurable effect.
Hmm, I suppose if I get *really* desperate, I could always try compiling
with GHC 6.6.1 instead of 6.6... ;-)
More information about the Haskell-Cafe
mailing list