美文网首页
cache_t分析

cache_t分析

作者: 蓝胖子的梦 | 来源:发表于2020-09-18 08:18 被阅读0次

    cache_t分析

    1. cache_t的作用:用于快速查找方法
    2. cache_t的特点:是可增量扩展的hash表结构


      hash表结构
    3. 系统将使用频繁的方法放到缓存中,那么下次使用的时候就可以快速定位到函数的方法实现,从而加快访问速度。
    4. 可以理解为一个装载着bucket_t(结构体)的数组,bucket_t(结构体)有两个成员变量,sel:方法编号;imp:函数指针即函数实现;我们查找方法的时候,实际上就是通过sel经过哈希算法查找到cache_t数组的下标,从而找到imp函数实现。


      哈希算法

    一些概念:
    capacity:总槽位
    _mask:槽位-1
    _occupied:实际使用了的槽位
    buckets()[begin]:存放sel和imp的bucket_t,由mask_t begin = cache_hash(sel, m)计算得出;有可能槽位被占,则采取指针平移获取下一个槽(i+1)& mask;
    3/4:实际使用了的槽位=总槽位*3/4,哈希表扩容2倍


    cache_t insert流程图

    相关文章

      网友评论

          本文标题:cache_t分析

          本文链接:https://www.haomeiwen.com/subject/rpydyktx.html