File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1313//! │ Slot array with per-ring intrusive circular linked lists: │
1414//! │ │
1515//! │ ┌─────────────────────────────────────────────────────────────────────┐ │
16- //! │ │ index: HashMap<K, usize> slots: Vec<Option<SlotPayload>> │ │
16+ //! │ │ index: HashMap<K, usize> slots: Vec<Option<SlotPayload>> │ │
1717//! │ │ │ │
18- //! │ │ Parallel hot-path arrays (cache-friendly sweeps): │ │
19- //! │ │ referenced: Vec<bool> ring_kind: Vec<Ring> │ │
18+ //! │ │ Parallel hot-path arrays (cache-friendly sweeps): │ │
19+ //! │ │ referenced: Vec<bool> ring_kind: Vec<Ring> │ │
2020//! │ │ ring_next: Vec<usize> ring_prev: Vec<usize> │ │
2121//! │ │ │ │
22- //! │ │ Recent ring (recency) Frequent ring (frequency) │ │
23- //! │ │ ┌───────────────────┐ ┌───────────────────┐ │ │
24- //! │ │ │ hand_recent ──► A ──►│ │ hand_frequent──► X ──►│ │ │
25- //! │ │ │ ◄── C ◄── B ◄───│ │ ◄── Z ◄── Y ◄───│ │ │
26- //! │ │ └───────────────────┘ └───────────────────┘ │ │
22+ //! │ │ Recent ring (recency) Frequent ring (frequency) │ │
23+ //! │ │ ┌─────────────────────── ┐ ┌───────────────────────┐ │ │
24+ //! │ │ │ hand_recent ──► A ──► │ │ hand_frequent──► X ──►│ │ │
25+ //! │ │ │ ◄── C ◄── B ◄─── │ │ ◄── Z ◄── Y ◄─── │ │ │
26+ //! │ │ └─────────────────────── ┘ └───────────────────────┘ │ │
2727//! │ │ Ref=0 → evict to ghost_recent Ref=0 → evict to ghost_frequent │ │
2828//! │ │ Ref=1 → demote to Frequent Ref=1 → clear ref, advance │ │
2929//! │ │ │ │
You can’t perform that action at this time.
0 commit comments