Runtime - cache方法缓存

2023-06-07  本文已影响0人  xxttw

cache_t

image.png
散列表查找缓存的原理

首先buckets散列表 其实就是一个数组, 也会有索引和索引对应的数据
方法存储时, 通过 方法名 & mask 算出一个索引值, 直接存入散列表
查找方法时 通过方法名@selector@(personTest) & mask(散列表的长度-1)计算出一个索引, buckets[索引] 直接取出缓存对象, 获得imp 函数地址 直接调用, 这种方式查询方法效率就会特别高
这种方法就是牺牲一定的内存空间来换取执行效率

上一篇 下一篇

猜你喜欢

热点阅读