Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript _.memoize不会提高性能_Javascript_Node.js_Underscore.js_Lodash_Memoization - Fatal编程技术网

Javascript _.memoize不会提高性能

Javascript _.memoize不会提高性能,javascript,node.js,underscore.js,lodash,memoization,Javascript,Node.js,Underscore.js,Lodash,Memoization,考虑第n个斐波那契数的发现。原始函数fib(32)和memoize(fib)(32)的时间相同 函数fib(num){ 如果(num第一次运行时速度不会更快。记忆化只会在后续执行时给您带来好处 function fib(num) { if (num <= 1) return 1; return fib(num - 1) + fib(num - 2); } const fibmem = _.memoize(fib); fibmem(32); console.time('w

考虑第n个斐波那契数的发现。原始函数fib(32)和memoize(fib)(32)的时间相同

函数fib(num){

如果(num第一次运行时速度不会更快。记忆化只会在后续执行时给您带来好处

function fib(num) {
    if (num <= 1) return 1;
    return fib(num - 1) + fib(num - 2);
}

const fibmem = _.memoize(fib);

fibmem(32);
console.time('with memo')
fibmem(32);
console.timeEnd('with memo')

fib(32);
console.time('no memo')
fib(32)
console.timeEnd('no memo')

有没有办法让
memoize
实际修改函数以实现最佳性能提升?这里就是这么做的-
fibmem
函数是一个经过修改的函数,在第一次运行后(使用相同的参数)确实会给您带来速度提升。
with memo: 0.0732421875ms
no memo: 25.131103515625ms