[Haskell-cafe] Performance question
ganesh.sittampalam at credit-suisse.com
Thu Feb 26 05:46:52 EST 2009
Ben Lippmeier wrote:
>>> The first thing I would do is replace your isInCircle :: (Floating
>>> a, Ord a) => (a,a) -> Bool with isInCircle :: (Double, Double) ->
>> Can you point me to why that matters?
> At the machine level, GHC treats the (Floating a, Ord a) as an extra
> argument to the function. This argument holds function pointers that
> tell it how to perform multiplication and <= for the unknown type
> 'a'. If you use Double instead of 'a', then it's more likely to use
> the actual machine op.
I'd recommend use of a SPECIALIZE pragma instead of rewriting the code
Please access the attached hyperlink for an important electronic communications disclaimer:
More information about the Haskell-Cafe