node python 速度_为什么python在递归上比node.js慢得多
如果您在Python中使用一個帶記憶的fibonacci函數,您將看到它變得更快:import time
beg = time.clock()
def memoize(f):
cache = {}
def decorated_function(*args):
if args in cache:
return cache[args]
else:
cache[args] = f(*args)
return cache[args]
return decorated_function
@memoize
def fib(n):
if n <=2:
return 1
return fib(n-2) + fib(n-1)
var = fib(35)
end = time.clock()
print(var)
print(end - beg)
在javascript中也可以這樣做:function memoize( fn ) {
return function () {
var args = Array.prototype.slice.call(arguments),
hash = "",
i = args.length;
currentArg = null;
while (i--) {
currentArg = args[i];
hash += (currentArg === Object(currentArg)) ?
JSON.stringify(currentArg) : currentArg;
fn.memoize || (fn.memoize = {});
}
return (hash in fn.memoize) ? fn.memoize[hash] :
fn.memoize[hash] = fn.apply(this, args);
};
}
var beg = new Date().getTime();
function fib(n)
{
if (n <= 2)
return 1;
return fib(n-2) + fib(n-1);
}
var f = memoize(fib)(35);
var end = new Date().getTime();
console.log(f);
console.log(end - beg);
看起來javascript方面沒有性能改進,這往往表明這里已經內置了某種記憶機制。
總結
以上是生活随笔為你收集整理的node python 速度_为什么python在递归上比node.js慢得多的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python工具安装教程_Python
- 下一篇: python能做大型网站么_前几天有人讨