On Wed, 23 Apr 2008, Sebastian Sylvan wrote:
On Wed, Apr 23, 2008 at 5:01 PM, Tillmann Vogt <[EMAIL PROTECTED]>
wrote:
I am currently experimenting with parallelizing C-programs. I have
therefore written a matrix vector multiplication example that needs 13
seconds to run (5 seconds with OpenMP). Because I like Haskell I did the
same in this language, but it takes about 134 seconds. Why is it so slow?
Does someone have an idea?
Yes, in the C version you use unboxed arrays, in the Haskell version you use
a linked list of linked lists. Naturally the latter will take up more space,
require more work to index, and will thrash the cache quite a bit.
For full speed matrix computations see
http://alberrto.googlepages.com/gslhaskell
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe