CacheKit Docs

High-performance cache policies and supporting data structures.

View the Project on GitHub OxidizeLabs/cachekit

Benchmark Results

Quick Links: Interactive Charts Raw JSON

Environment

Configuration

Hit Rate Comparison

Policy Uniform HotSet 90/10 Scan Zipfian 1.0 Scrambled Zipfian Latest Scan Resistance Flash Crowd
2Q 24.78% 90.63% 0.00% 82.37% 90.71% 31.55% 16.04% 89.37%
ARC 24.62% 90.37% 0.00% 80.03% 90.09% 35.93% 19.83% 88.22%
CAR 24.67% 90.30% 0.00% 81.72% 90.22% 33.21% 21.43% 89.02%
Clock 24.66% 90.65% 0.00% 80.75% 90.45% 34.96% 17.63% 88.75%
Clock-Pro 24.77% 90.65% 0.00% 81.54% 90.38% 30.55% 21.09% 89.09%
FIFO 24.64% 86.16% 0.00% 76.77% 87.58% 35.49% 15.58% 86.75%
Fast-LRU 24.62% 90.65% 0.00% 80.17% 90.22% 35.45% 16.75% 88.51%
Heap-LFU 24.67% 90.67% 22.52% 74.81% 90.03% 26.51% 23.42% 85.33%
LFU 24.61% 90.64% 0.00% 82.57% 91.13% 25.82% 20.28% 89.42%
LIFO 24.76% 90.66% 24.22% 80.25% 90.18% 26.08% 29.10% 63.53%
LRU 24.62% 90.65% 0.00% 80.17% 90.22% 35.45% 16.75% 88.51%
LRU-K 24.61% 90.64% 0.00% 82.57% 91.13% 25.91% 20.28% 89.42%
MFU 24.66% 37.18% 18.44% 31.99% 59.85% 24.89% 23.42% 41.32%
MRU 24.74% 38.07% 24.22% 33.10% 59.53% 24.90% 28.90% 39.78%
NRU 24.74% 90.66% 24.21% 80.29% 90.20% 26.35% 29.10% 88.19%
Random 24.66% 86.34% 1.82% 76.98% 87.70% 32.85% 20.72% 86.84%
S3-FIFO 24.73% 90.63% 0.00% 82.49% 90.95% 30.35% 23.18% 89.49%
SLRU 24.75% 90.63% 0.00% 82.57% 90.89% 30.95% 16.92% 89.41%

Throughput (Million ops/sec)

Policy Uniform HotSet 90/10 Zipfian 1.0
2Q 32.43 38.29 14.42
ARC 17.16 31.14 12.23
CAR 15.06 42.61 12.93
Clock 20.98 36.08 12.78
Clock-Pro 15.07 45.43 13.06
FIFO 18.54 33.03 12.46
Fast-LRU 35.28 41.68 14.69
Heap-LFU 9.80 14.70 8.11
LFU 11.36 14.22 7.47
LIFO 55.04 77.83 16.93
LRU 29.80 28.14 12.49
LRU-K 18.35 18.21 10.02
MFU 16.28 16.62 10.90
MRU 36.44 44.28 18.10
NRU 0.73 51.24 10.78
Random 35.57 63.35 16.14
S3-FIFO 17.74 39.10 12.66
SLRU 32.34 41.43 14.42

Latency P99 (nanoseconds)

Policy Uniform HotSet 90/10 Zipfian 1.0
2Q 150 80 100
ARC 220 151 190
CAR 281 210 220
Clock 181 150 171
Clock-Pro 311 201 260
FIFO 220 160 181
Fast-LRU 120 80 100
Heap-LFU 331 280 311
LFU 330 200 221
LIFO 90 60 81
LRU 130 91 110
LRU-K 201 141 161
MFU 231 191 201
MRU 141 90 100
NRU 9949 161 531
Random 140 91 110
S3-FIFO 241 160 210
SLRU 150 80 91

Scan Resistance

Policy Baseline During Scan Recovery Score
2Q 79.66% 7.69% 78.54% 0.986
ARC 79.66% 7.04% 71.50% 0.897
CAR 79.66% 6.97% 68.86% 0.864
Clock 79.66% 6.90% 68.54% 0.860
Clock-Pro 79.66% 7.69% 78.78% 0.989
FIFO 78.36% 9.22% 68.55% 0.875
Fast-LRU 79.65% 7.03% 68.54% 0.861
Heap-LFU 79.21% 21.89% 75.79% 0.957
LFU 79.66% 7.69% 78.54% 0.986
LIFO 79.75% 19.48% 80.80% 1.013
LRU 79.65% 7.03% 68.54% 0.861
LRU-K 79.66% 7.69% 78.54% 0.986
MFU 75.51% 20.18% 32.87% 0.435
MRU 74.88% 20.67% 46.96% 0.627
NRU 79.75% 19.48% 80.86% 1.014
Random 79.55% 11.72% 68.53% 0.861
S3-FIFO 79.66% 7.69% 78.82% 0.989
SLRU 79.66% 7.69% 78.54% 0.986

Score = Recovery/Baseline (1.0 = perfect recovery, n/a = baseline too low to compare)

Adaptation Speed

Policy Stable Hit Rate Ops to 50% Ops to 80% Curve
2Q 33.50% 3072 11264 ▁▂▂▂▂▂▂▂▃▃▃▃▃▃▃▃
ARC 49.32% 5120 7168 ▁▂▃▃▃▄▄▄▄▄▅▅▄▄▄▄
CAR 51.07% 3072 7168 ▁▂▃▃▃▄▄▄▄▅▅▅▅▅▄▅
Clock 49.32% 3072 6144 ▁▂▃▃▄▄▄▄▄▄▅▅▅▅▅▄
Clock-Pro 36.04% 8192 11264 ▁▁▂▂▂▂▂▂▃▃▃▃▃▃▃▄
FIFO 52.25% 3072 6144 ▁▂▃▃▄▅▅▄▄▄▅▅▅▄▄▅
Fast-LRU 49.32% 3072 5120 ▁▂▃▃▄▅▄▄▄▄▅▅▅▅▅▄
Heap-LFU 9.86% 2048 2048 ▁▂▂▂▂▂▂▂▂▂▂▂▂▂▂▂
LFU 9.08% 1024 2048 ▁▂▂▂▂▂▁▂▂▂▂▂▂▂▂▂
LIFO 0.20% 5120 16384 ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
LRU 49.32% 3072 5120 ▁▂▃▃▄▅▄▄▄▄▅▅▅▅▅▄
LRU-K 9.08% 1024 2048 ▁▂▂▂▂▂▁▂▂▂▂▂▂▂▂▂
MFU 3.71% 1024 2048 ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
MRU 0.20% 5120 16384 ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
NRU 0.20% 5120 16384 ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
Random 45.02% 4096 8192 ▁▂▃▃▃▃▃▄▄▄▄▄▄▄▄▄
S3-FIFO 46.48% 8192 11264 ▁▁▂▂▂▂▃▃▃▃▄▄▄▄▄▄
SLRU 27.73% 3072 11264 ▁▂▂▂▂▂▂▂▂▂▃▃▃▃▃▃

Lower ops-to-X% is better (faster adaptation). Curve = per-window hit rate after the workload shift, low → high ( ≈ 0%, ≈ 100%); each cell is 1024 ops, total 16384 ops measured.

Policy Selection Guide

Use Case Recommended Policy Why
General purpose, skewed workloads LRU, LFU, S3-FIFO Best hit rates on Zipfian/skewed patterns
Scan-heavy workloads S3-FIFO, Heap-LFU Scan-resistant, protect hot entries
Low latency required LRU, Clock Fast operations, near O(1) average overhead
Memory constrained LRU, Clock Minimal metadata overhead
Frequency-aware LFU, Heap-LFU, LRU-K Track access frequency for better decisions
Shifting patterns S3-FIFO, 2Q Adapt to changing access patterns
Multi-access patterns 2Q, S3-FIFO Handle mixed one-hit and frequent items

Generated by bench-support v0.1.0 from results.json (schema v1.2.0).