キャッシュ
1065 ワード
いずれの言語においても、プログラムの計算量が大きく、実行時間が長い場合は、計算結果を保存して、次回同じプログラムを実行する時に、保存した結果を直接に取得して、再計算する必要がなく、キャッシュといいます.
JavaScriptでの実装は以下の通りです.
JavaScriptでの実装は以下の通りです.
function longTime(key){
console.log('after 2000 years....');
return key + ' ';
}
let cache = {};
function compute(param){
let result;
let key = param.toString();
if(cache[key]){
console.log(' ');
result = cache[key];
console.log(result);
}else{
console.log(' ');
cache[key] = result = longTime(param);
console.log(result);
}
return result;
}
//
compute('key1');
compute('key2');
compute('key3');
compute('key3');
実行結果が見えます.VM45407:14
VM45407:2 after 2000 years....
VM45407:16 key1
VM45407:14
VM45407:2 after 2000 years....
VM45407:16 key2
VM45407:14
VM45407:2 after 2000 years....
VM45407:16 key3
VM45407:10
VM45407:12 key3
"key3 "