cache_t分析

2020-09-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流程图
上一篇 下一篇

猜你喜欢

热点阅读