おそらく、関数呼び出しをいじっているのでしょう。
[nori@Asama]~/Desktop/work/packaging/v8/fromGoogle% time python test.py
102334155
python test.py 142.48s user 0.02s system 99% cpu 2:22.58 total
[nori@Asama]~/Desktop/work/packaging/v8/fromGoogle% time ./v8 test.js
102334155
./v8 test.js 6.87s user 0.00s system 99% cpu 6.879 total
test.py
def fib(n):
if n < 0:
return 0
elif n == 1:
return 1
return fib(n-1) + fib(n-2)
print fib(40)
test.js(test.pyより自動生成)
function len(s) {
return s.length;
}
function dict() {
var arr = new Array();
for (var i=0;iarr[dict.arguments[i]] = dict.arguments[i+1]
}
arr.toString = function() {
var result = "";
for (var key in arr)
{
if (result.length) result += ", "
result += String(key) + ": " + String(arr[key])
}
return "{" + result + "}";
}
return arr;
}
function fib(n) {
if (n < 0) {
return 0;
} else if (n == 1) {
return 1;
} else {
}
return fib(n - 1) + fib(n - 2);
}
print( String(fib(40)), ' ', "\n");
0 件のコメント:
コメントを投稿