[Haskell-cafe] Newbie question about tuples
Donald Bruce Stewart
dons at cse.unsw.edu.au
Sat Jul 14 19:56:32 EDT 2007
bf3:
> Thanks Bulat, but now you scattered my hopes that GHC would magically do all these optimizations for me ;-)
>
> I must say that although the performance of Haskell is not really a concern to me, I was a bit disappointed that even with all the tricks of the state monad, unboxing, and no-bounds-check, the matrix-vector multiplication was still 7 to 8 times slower than the C version. And at the end of the paper, it's only a factor 4 slower. Okay, going from 300x slower to 4x slower is impressive, but why is it *still* 4x slower? It would be interesting to compare the assembly code generated by the C compiler versus the GHC compiler; after all, we're just talking about a vector/matrix multiplication, which is just a couple of lines of assembly code... And now I'm again talking about performance, nooo! ;-)
>
> >http://www.cse.unsw.edu.au/~chak/papers/afp-arrays.ps.gz
>
>
Yeah, there's some known low level issues in the code generator
regarding heap and stack checks inside loops, and the use of registers
on x86.
But note this updated paper,
http://www.cse.unsw.edu.au/~chak/papers/CLPKM07.html
Add another core to your machine and it is no longer 4x slower :)
Add 15 more cores and its really no longer 4x slower :)
-- Don
More information about the Haskell-Cafe
mailing list