Performance regressions in HEAD

Neil Mitchell ndmitchell at gmail.com
Tue Jul 10 08:54:30 EDT 2007


Hi Simon,

> I bet this is related to getchar.  When compiling via C, the C compiler can
> inline getchar, but with -fasm we have to just call getchar().  Take a look at
> the asm generated for each way, and try swapping over the fragments that do
> getchar().

It does appear so. I've hacked the C version to not inline getchar(),
and now the ASM Haskell runs a few percent below the C version -
entirely due to stack checks and heap checks.

Thanks

Neil



More information about the Cvs-ghc mailing list