diff --git a/code_to_optimize_js_esm/fibonacci.js b/code_to_optimize_js_esm/fibonacci.js index 0ee526315..0d9742770 100644 --- a/code_to_optimize_js_esm/fibonacci.js +++ b/code_to_optimize_js_esm/fibonacci.js @@ -1,3 +1,5 @@ +const _fibCache = new Map(); + /** * Fibonacci implementations - ES Module * Intentionally inefficient for optimization testing. @@ -13,7 +15,12 @@ export function fibonacci(n) { if (n <= 1) { return n; } - return fibonacci(n - 1) + fibonacci(n - 2); + if (_fibCache.has(n)) { + return _fibCache.get(n); + } + const result = fibonacci(n - 1) + fibonacci(n - 2); + _fibCache.set(n, result); + return result; } /**