Skip to content

Instantly share code, notes, and snippets.

@dg
Last active October 2, 2015 23:07
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save dg/2341908 to your computer and use it in GitHub Desktop.
Save dg/2341908 to your computer and use it in GitHub Desktop.
Fibonacci number benchmark
// fibonacci(40) takes 2 seconds in Node.js 0.6.14
// http://en.wikipedia.org/wiki/Fibonacci_number
function fibonacci(n) {
return n < 2 ? n : fibonacci(n-2) + fibonacci(n-1);
}
// fibonacci(40) takes 60 seconds in PHP 5.4.0
// fibonacci(40) takes 21 seconds in PHP 7
function fibonacci($n) {
return $n < 2 ? $n : fibonacci($n-2) + fibonacci($n-1);
}
# fibonacci(40) takes 42 seconds in Python 3.2.2
def fibonacci(n):
return n if n < 2 else fibonacci(n-1) + fibonacci(n-2)
# fibonacci(40) takes 18 seconds in Ruby 1.9.3
def fibonacci(n)
n < 2 ? n : fibonacci(n-1) + fibonacci(n-2)
end
@jsuchal
Copy link

jsuchal commented Apr 9, 2012

@dg Algoritmus je správny (ten vzorec si vieš vypočítať a overiť na papieri). Problém, ktorý vznikol je realizácia pre čísla s konečnou presnosťou. A áno, nedáva to teda pre vyššie čísla správne výsledky.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment