zoukankan      html  css  js  c++  java
  • 缓存函数

    缓存函数是将函数的计算结果缓存起来,当下次以同样的参数调用该函数时,直接返回已缓存的结果,无需再次执行函数。这是一种常见的以空间换时间的性能优化手段。

    要实现缓存函数的功能,我们可以把经过序列化的参数作为key,再把第一次调用后的结果作为value存储到对象中。在每次执行函数调用前,都需要判断缓存中是否含有对应的key,如果有的话,直接返回该key对应的值。

    实现方式

    function memorize(fn){
        const cache = Object.create(null)
        return function(...rest){
            const args = JSON.stringify(rest)
            return cache[args] || (cache[args] = fn.apply(fn,args))
        }
    }
    
    let complexCalc = (a, b) => {
        // 执行复杂的计算
    };
    
    let memoCalc = memorize(complexCalc);
    memoCalc(666, 888);
    memoCalc(666, 888); // 从缓存中获取
    

    用什么数据结构存储并不重要,数组、对象、map、weakMap。

  • 相关阅读:
    百度诉360案一审宣判索赔1亿判赔70万
    软件设计之状态机
    linux下so获得自己文件位置的路径
    openssh-server
    安卓下查看kmsg内核日志
    Python kmean
    numpy
    HostMonitor监控主机状态
    ubuntu MySQL安装和设置
    Python Post img
  • 原文地址:https://www.cnblogs.com/zhenjianyu/p/13947840.html
Copyright © 2011-2022 走看看