

Fibonacci(50) Performance: Java  C  C++  D  Go  Terra (Lua)  Lua-JIT (Lua) - rjoshi
http://joshitech.blogspot.com/2014/10/fibonacci50-performance-java-c-c-d-go.html

======
igouy
Back in the day, when we didn't know any better...

[https://web.archive.org/web/20080729072224/http://shootout.a...](https://web.archive.org/web/20080729072224/http://shootout.alioth.debian.org/gp4/benchmark.php?test=recursive&lang=all)

------
senthadev
You should try to implement the Fib with tail call and then test it.
[http://en.wikipedia.org/wiki/Tail_call](http://en.wikipedia.org/wiki/Tail_call)

~~~
dozzie
First he should implement it properly, remembering last two values at any
time. His way is just plain outrageous.

~~~
rjoshi
Here the comparison is not about the algorithm, but language with similar
recursion logic.

~~~
dozzie
Then he should have used appropriate function to calculate, Ackermann for
instance.

------
bjorg
I wonder if the author validated the results returned by Java for Fibonacci
50. Performance can increase significantly when correctness is not an issue.
:)

~~~
rjoshi
Yes, if you look at the [https://github.com/rohitjoshi/lang-
compare/blob/master/fibon...](https://github.com/rohitjoshi/lang-
compare/blob/master/fibonacci/results_fib_50.txt), it print fibonacci (50) =
12586269025

------
tasoeur
Does anyone know why Java would be faster here? Is there any kind of
optimization happening under the hood? (Automatic memoization?)

~~~
rjoshi
See the updated blog again. It seems issue is with Clang/LLVM on MacOSX. I
reran the test on Linux with Gnu g++ and it outperforms Java.

