Ist etwas mit diesem Python-Code nicht in Ordnung, warum läuft er im Vergleich zu Ruby so langsam?
Ich war daran interessiert, die Geschwindigkeit von Ruby mit der von Python zu vergleichen, also habe ich die einfachste rekursive Berechnung durchgeführt, nämlich die Fibonacci-Sequenz zu drucken.
Dies ist der Python-Code
#!/usr/bin/python2.7
def fib(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fib(n-1)+fib(n-2)
i = 0
while i < 35:
print fib(i)
i = i + 1
und hier ist der Ruby-Code
#!/usr/bin/ruby
def fib(n)
if n == 0
return 0
elsif n == 1
return 1
else
fib(n-1)+fib(n-2)
end
end
i = 0
while (i < 35)
puts fib(i)
i = i + 1
end
ei mehreren Läufen meldet die Zeit diesen Durchschnittswer
real 0m4.782s
user 0m4.763s
sys 0m0.010s
thats for ruby, jetzt gibt python2.7
real 0m11.605s
user 0m11.563s
sys 0m0.013s
Was ist das Problem