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

Reply via email to