Also, we do fusion on strict structures (e.g. vectors), where you get
back O(n) on each fused point. Obviously, it is less of a win on lazy
structures than the (pathological) case of strict data, but it is
still a win.

-- Don

On Tue, May 17, 2011 at 11:07 PM, Ben Lippmeier <b...@ouroborus.net> wrote:
>
> On 18/05/2011, at 15:55 , Roman Cheplyaka wrote:
>> Of course I don't claim that fusion is useless -- just trying to
>> understand the problem it solves. Are we saving a few closures and cons
>> cells here?
>
> And thunk allocations, and thunk entries. Entering a thunk costs upwards of 
> 20 cycles, while performing a single addition should only cost one. Imagine 
> every thunk entry is a function call. You don't want to call a whole function 
> just to add two numbers together.
>
> Those "few closures and cons cells" can be surprisingly expensive when 
> compared to native ALU instructions on a modern machine.
>
> Ben.
>
>
>
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>

_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to