私はRubyの速度とPythonの比較に興味があったので、最も単純な再帰計算、つまりフィボナッチシーケンスを印刷しました。
これはPythonコードです
#!/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
これがルビーコードです
#!/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
数回の実行で、時間はこの平均を報告します
real 0m4.782s
user 0m4.763s
sys 0m0.010s
それはルビーのためです、今python2.7は与えます
real 0m11.605s
user 0m11.563s
sys 0m0.013s
どうしたんだ?