[Haskell-cafe] Profiling nested case
mmitar at gmail.com
Fri Jul 18 08:23:41 EDT 2008
On Sat, Jul 12, 2008 at 3:33 AM, Max Bolingbroke
<batterseapower at hotmail.com> wrote:
> If findColor had been a function defined in terms of foldr rather than
> using explicit recursion, then theres a good chance GHC 6.9 would have
> fused it with the list to yield your optimized, loop unrolled,
My first version was with msum. Is this also covered by this fusion?
(And it is interesting that my own recursion version is faster than
the version with msum. Why?)
> Incidentally, if in your most recent email castRayScene2 was your only
> used of castRay, GHC would have inlined the whole definition into that
> use site and you would have got castRayScene1 back again.
It is a little more tricky. I choose in an IO monad which scene it
will render (selected by a program argument). So at compile time it
does not yet know which one it will use. But there is a finite number
of possibilities (in my case two) - why not inline both versions and
at run time choose one?
More information about the Haskell-Cafe