I'm sort of jumping into this conversation late, and I'm definitely a Haskell newbie, but I have to wonder if the speed differences don't have something to do with the C arguments passing conventions. I know there's some rule that says if your first couple args are int's to pass them in the CPU registers which might explain some of the speed boost for putting them first. I need to go dig through my x86 reference manuals to get the exact rules though.

-R. Kyle Murphy
--
Curiosity was framed, Ignorance killed the cat.


On Sun, Mar 7, 2010 at 22:40, MAN <elviotoccalino@gmail.com> wrote:
A little something I should have done before:

Just compiled Don's C code (modified to my 32 bit laptop) with all
flavors of precision. All the timings were similar:

~$ gcc bigmean.c -o bgC
~$ chmod +x bgC
~$ ./bgC 1000000000
~$ time ./bgC 1000000000
500000000.067109

real    0m8.585s
user    0m8.553s
sys     0m0.000s


So the time's I've been getting are approximating C speed quite well.
There's still the difference between recursive and fusion code that
haven't been able to gap...

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners