On Fri, Mar 26, 2010 at 2:33 PM, Bryan O'Sullivan <bos@serpentine.com> wrote:
On Fri, Mar 26, 2010 at 10:46 AM, Rafael Cunha de Almeida <almeidaraf@gmail.com> wrote:

During a talk with a friend I came up with two programs, one written in
C and another in haskell.

Your Haskell code builds a huge thunked accumulator value, so of course it's slow (put bang patterns on all arguments). Also, you should use rem instead of mod. Make those tiny changes and you'll get a 5x speedup, to half the performance of the C code.

Interesting.  I had to add -fvia-C to get within half the performance of C.  Just bang patterns and rem and I'm 1/5th of C.  I'm on a x86_64 machine.  I wonder if that plays in.

Jason