I do not agree: the fib function is tail-recursive, any good C compiler is able to optimize away the calls and reduce it to a mere loop.
At least that's what I learnt about tail recursion in C with GCC.
On 06.05.2012 10:44, Ivan Lazar Miljenovic wrote:Hi,
On 6 May 2012 16:40, Janek S.<fremenzone@poczta.onet.pl> wrote:
Hi,How about http://donsbot.wordpress.com/2007/11/29/use-those-extra-cores-and-beat-c-today-parallel-haskell-redux/
a couple of times I've encountered a statement that Haskell programs can have performance
comparable to programs in C/C++. I've even read that thanks to functional nature of Haskell,
compiler can reason and make guarantess about the code and use that knowledge to automatically
parallelize the program without any explicit parallelizing commands in the code. I haven't seen
any sort of evidence that would support such claims. Can anyone provide a code in Haskell that
performs better in terms of execution speed than a well-written C/C++ program? Both Haskell and C
programs should implement the same algorithm (merge sort in Haskell outperforming bubble sort in
C doesn't count), though I guess that using Haskell-specific idioms and optimizations is of
course allowed.
?
isn't it that particular Haskell code is outperforming C (22 seconds vs. 33), just because the author uses recursion in C? I surely love Haskell, and the way it's code is easy parallelized, but that example seams not fair.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe