您的位置:首页 > 其它

使用缓存计算来提高应用程序的性能

2017-08-18 15:29 281 查看
问题:想要通过建设重复负责的和CPU消耗大的计算的需求来优化JavaScript应用程序

解决方案:使用缓存保存中间值

var fibonacci = function(){
var memo = [0,1];
var fib = function(n){
var result = memo
;
//console.log(typeof result);
if(typeof result != "number"){
result = fib(n-1)+fib(n-2);
memo
= result;
}
//console.log("result"+result);
return result;
};
//console.log("fib"+fib);
return fib;
}();
//nonmemoized函数
var fib = function(n){
return n<2?n:fib(n-1)+fib(n-2);
}
//运行nonmemo的函数,使用一个定时器
console.time("non-memo");
for(var i =0;i<=30;i++){
fib(i);
//console.log(i+ " "+fib(i));
}
console.timeEnd("non-memo");
//现在运行memo函数,使用一个定时器
console.time("memo");
for(var i =0;i<30;i++){
//console.log(i+" "+fibonacci(i));
fibonacci(i);
}
console.timeEnd("memo");
//console.log(fibresult);
//输出
non-memo: 24.988ms
memo: 0.115ms


通过结果可以看出:使用缓存大大的缩短了计算时间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: