Bulat Ziganshin wrote:
Hello Simon,
Thursday, October 19, 2006, 6:40:54 PM, you wrote:
These days -O2, which invokes the SpecConstr pass, can have a big
effect, but only on some programs.
it also enables -optc-O2. so, answering Neil's question:
-O2 -funbox-strict-fields
(sidenote to SPJ: -funbox-simple-strict-fields may be a good way to
_safe_ optimization)
I'm not sure that -funbox-strict-fields always improves performance, even if you
only do it on Ints for example. If you end up pulling out those fields and
passing the Int to a lazy function, the Int will be re-boxed each time, leading
to more allocation. This is the reason that -funbox-strict-fields isn't on by
defualt, and why I recommend using {-# UNPACK #-} pragmas.
I like
-O2 -fliberate-case-threshold=30
but anything other that -O2 is really just guesswork (i.e. we haven't made any
systematic measurements). You might also like -funfolding-use-threshold=50.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-users mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users