JSFiddle - React, Tailwind, and code Playground
by Paco86
JavaScript
var fib = function(n) {
if (n < 2) return n;
return fib(n - 1) + fib(n - 2);
};
var memoize = function(fn) {
var map = new Map();
map.set(0, 0);
map.set(1, 1);
return function(n) {
if (!map.has(n)) {
map.set(n, fn(n))
}
return map.get(n);
};
};
var memoizeFib = memoize(fib);
memoizeFib(10);
var memoizeFib = memoize();
memoizeFib(1000);
const t0 = performance.now();
console.log(memoizeFib(1000));
const t1 = performance.now();
console.log(`Call to doSomething took ${t1 - t0} milliseconds.`);
const t2 = performance.now();
console.log(memoizeFib(1000));
const t3 = performance.now();
console.log(`Call to doSomething took ${t3 - t2} milliseconds.`);