约 10% 数据容量;新对象的试用区。
三个队列
约 90% 数据容量;已证明会复用的对象。
约等于 M 的条目数;只存被 S 淘汰对象的 key。
读写与淘汰
- 命中 S/M:
freq = min(freq + 1, 3),不重排。 - 新 key miss:先腾空间,再插入 S,
freq = 0。 - Ghost hit:先腾空间,从 G 删除 key,插入 M。
- S 淘汰:
freq > 1则进 M,否则数据淘汰、key 进 G。 - M 淘汰:
freq > 0则减 1 并重插队头,否则真正淘汰。
读论文时记住
Quick demotion + Ghost 纠错 + 有限续命。
命中不维护全局精确顺序,FIFO 可用环形缓冲区。
大量对象只访问两次,且第二次晚于离开 S。