some chore
This commit is contained in:
@@ -171,15 +171,7 @@ SoA 布局 — 平行数组
|
||||
|
||||
**逐出标志位布局**(`_evictionFlags[i]`):
|
||||
|
||||
```
|
||||
bit: 7 6 5 4 3 2 1 0
|
||||
───────── ─ ───── ─
|
||||
保留 C RRPV D
|
||||
|
||||
D = bit 0 = dirty(0=只读副本, 1=有脏数据待写回)
|
||||
RRPV = bit 1-2 = Re-Reference Prediction Value(0~3)
|
||||
C = bit 3 = costClass(0=低成本, 1=高成本)
|
||||
```
|
||||
RRPV数组使用byte存储每一个cacheline的使用情况,其低二位表示如下逻辑
|
||||
|
||||
**RRPV 语义**:
|
||||
|
||||
@@ -203,7 +195,7 @@ SoA 布局 — 平行数组
|
||||
| 对比项 | v0.1 环形链表 | v0.3 RRPV 掩码 + 回调 |
|
||||
|---------------|------------------------|------------------------------|
|
||||
| 数据结构 | 4 条双向链表 + next 指针 | byte 数组 + 函数指针数组 |
|
||||
| 升温操作 | 摘节点 + 插节点(4 指针)| `&= 0xF9`(1 字节写入) |
|
||||
| 升温操作 | 摘节点 + 插节点(4 指针)| `+= 1`(1 字节写入) |
|
||||
| 老化操作 | 逐节点移链表 | SIMD 批量 +1(16 个/周期) |
|
||||
| 逐出扫描 | 遍历链表头(指针追逐) | SIMD 模式匹配(16 个/周期) |
|
||||
| 缓存友好性 | 差(指针跳跃) | 好(连续内存扫描) |
|
||||
|
||||
Reference in New Issue
Block a user