[Haskell-cafe] haskell version of fractal benchmark

Donald Bruce Stewart dons at cse.unsw.edu.au
Sat Jun 9 02:30:37 EDT 2007


sic:
> * Andrew Coppin <andrewcoppin at btinternet.com> [070608 02:45]:
> >    Bayley, Alistair wrote:
> > 
> > [[1]mailto:haskell-cafe-bounces at haskell.org] On Behalf Of Andrew Coppin
> > 
> > Donald Bruce Stewart wrote:
> > 
> > Some things to remember using Doubles:
> > 
> >     * {-# OPTIONS -fexcess-precision #-}
> >     * -fvia-C
> >     * -fbang-patterns
> >     * -optc-O2 -optc-mfpmath=sse -optc-msse2
> >     * -optc-march=pentium4
> > 
> > 1. What do all those things do?
> > 2. Is the effect actually that large?
> > 
> > Large? Depends what you mean by large, but adding a few flags to get
> > just a 10-20% speedup isn't to be ignored:
> > 
> >    Sure - if it really is 10-20%. (And not, say, 0.001 - 0.002%.)
> 
> A single data point for all of this, I have a program that calculates:
> 
> P^1_i = S_i/sum_k S_k
> P^m_i = sum_{k!=i} P^1_k*P^m-1_i(S_~k)
> 
> Here's timings for the different options:
> 
> options                  run time    compile time
> none                      46.401       3.136
> -O                         5.033       4.906
> -O2                        4.967       6.755
> -O2 -fexcess-precision     3.710       6.396
> all listed options         3.602       6.344
> 

Due to a (now fixed in 6.6.1 I think) bug in GHC 6.6, -fexcess-precision
*must* be inserted in a pragma. Did you do that?

    {-# OPTIONS -fexcess-precision #-}

See the bug report here,

    http://hackage.haskell.org/trac/ghc/ticket/1138

-- Don


More information about the Haskell-Cafe mailing list