On 3/27/07, Fawzi Mohamed <[EMAIL PROTECTED]> wrote:
I did longer runs (all compiled with -O2 as before) with the same
results.
and indeed with a couple of {-# INLINE function #-} I was able to
recover the previous performance and actually even get a better
performace than before.
If you had time to come up with a small test case that shows
significantly better performance with the {-# INLINE #-} pragmas, I'm
guessing that people on the glasgow-haskell-users mailing list might
be interested in seeing it. (Of course, inlining is a black art, so
it's also possible that with your example, you'll always know better
than the compiler does.)
Thanks!
An interesting thing is that the profiler actully was saying that the
non inlined version (and for the matter also the the split version)
were faster than the inlined or single module versions.
It would seem that the profiling ovehead for the inlined functions
are not correctly accounted for, so that they appear as more
expensive than the plain version when profiling.
Profiling and optimization interact in ways that can result in
profiling information being misleading, optimizations being
effectively disabled, or both -- but, the overall numbers for time and
space usage should always be accurate regardless of inlining or other
optimizations, AFAIK. If you can explain what's happening in more
detail (i.e., by showing the profiler output in the different cases),
that might also be a topic for a ghc-users post.
Cheers,
Tim
--
Tim Chevalier * [EMAIL PROTECTED] * Often in error, never in doubt
Confused? See http://catamorphism.org/transition.html
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe