[Haskell-cafe] vector stream fusion, inlining and compilation time
sk at k-hornz.de
Thu Mar 4 12:34:07 EST 2010
two questions in one post:
i've been hunting down some performance problems in DSP code using vector and
the single most important transformation seems to be throwing in INLINE pragmas
for any function that uses vector combinators and is to be called from
higher-level code. failing to do so seems to prevent vector operations from
being fused and results in big performance hits (the good news is that the
optimized code is quite competitive). does anybody have some more info about the
do's and don'ts when programming with vector?
the downside after adding the INLINE pragmas is that now some of my modules take
_really_ long to compile (up to a couple of minutes); any ideas where i can
start looking to bring the compilation times down again?
i'm compiling with -O2 -funbox-strict-fields instead of -Odph (with ghc 6.10.4
on OSX 10.4), because it's faster for some of my code, but -O2 vs. -Odph doesn't
make a noticable difference in compilation time.
More information about the Haskell-Cafe