[Haskell-cafe] efficient combination of foldl' and foldr ->
foldl'r
Henning Thielemann
lemming at henning-thielemann.de
Fri Dec 5 17:43:10 EST 2008
On Fri, 5 Dec 2008, Ryan Ingram wrote:
> You're testing the interpreted code, so it's not surprising that the
> naive version performs better; the interpretive overhead only applies
> to your bit of glue code.
I wanted to avoid the optimizer to do clever things itself.
> Alternatively, at least compile the module with optimizations before
> running it in ghci:
>
> ryani$ ghc -ddump-simpl -O2 -c foldlr.hs >foldlr.core
> (This gives you "functional assembly language" to look at for
> examining code generation)
>
> ryani$ ghci foldlr.hs
> [...]
> Prelude FoldLR> :set +s
> Prelude FoldLR> test
> (1000000,'a')
> (0.39 secs, 70852332 bytes)
> Prelude FoldLR> testNaive
> (1000000,'a')
> (0.42 secs, 105383824 bytes)
There is still no clear advantage of foldl'r compared to foldl'rNaive, is
it?
More information about the Haskell-Cafe
mailing list