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.<br>
<br clear="all">-R. Kyle Murphy<br>--<br>Curiosity was framed, Ignorance killed the cat.<br>
<br><br><div class="gmail_quote">On Sun, Mar 7, 2010 at 22:40, MAN <span dir="ltr"><<a href="mailto:elviotoccalino@gmail.com">elviotoccalino@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
A little something I should have done before:<br>
<br>
Just compiled Don's C code (modified to my 32 bit laptop) with all<br>
flavors of precision. All the timings were similar:<br>
<br>
~$ gcc bigmean.c -o bgC<br>
~$ chmod +x bgC<br>
~$ ./bgC 1000000000<br>
~$ time ./bgC 1000000000<br>
500000000.067109<br>
<br>
real 0m8.585s<br>
user 0m8.553s<br>
sys 0m0.000s<br>
<br>
<br>
So the time's I've been getting are approximating C speed quite well.<br>
There's still the difference between recursive and fusion code that<br>
haven't been able to gap...<br>
<div><div></div><div class="h5"><br>
_______________________________________________<br>
Beginners mailing list<br>
<a href="mailto:Beginners@haskell.org">Beginners@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/beginners" target="_blank">http://www.haskell.org/mailman/listinfo/beginners</a><br>
</div></div></blockquote></div><br>