Skip to content

Instantly share code, notes, and snippets.

@GZShi
Created February 28, 2014 08:35
Show Gist options
  • Save GZShi/9267451 to your computer and use it in GitHub Desktop.
Save GZShi/9267451 to your computer and use it in GitHub Desktop.
Function caching in JavaScript
function fibonacci (n) {
if (n < 2) {
return n;
} else if (fibonacci.cache)
fibonacci.cache[n] = fibonacci.cache[n] || fibonacci(n-1) + fibonacci(n-2);
return fibonacci.cache[n];
} else {
return fibonacci(n-1) + fibonacci(n-2);
}
}
console.time('recursion');
fibonacci(30);
console.timeEnd('recursion');
fibonacci.cache = {};
console.time('caching');
fibonacci(30);
console.timeEnd('caching');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment