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.65 45.39 14.32
ARC 16.72 32.31 12.18
CAR 14.82 41.02 12.82
Clock 20.65 35.52 12.62
Clock-Pro 15.08 45.28 13.05
FIFO 18.25 32.66 12.40
Fast-LRU 35.30 42.15 14.64
Heap-LFU 9.65 14.65 8.07
LFU 11.32 13.89 7.44
LIFO 53.91 78.09 16.95
LRU 30.09 27.74 12.38
LRU-K 18.56 17.89 9.84
MFU 15.66 16.24 10.72
MRU 35.71 43.25 18.06
NRU 0.73 50.50 10.82
Random 35.42 61.65 16.17
S3-FIFO 17.60 38.38 12.46
SLRU 32.25 45.44 14.28

Latency P99 (nanoseconds)

Policy Uniform HotSet 90/10 Zipfian 1.0
2Q 151 80 100
ARC 231 200 201
CAR 301 230 241
Clock 210 161 190
Clock-Pro 311 220 261
FIFO 241 160 191
Fast-LRU 130 80 110
Heap-LFU 341 291 331
LFU 341 210 231
LIFO 100 70 90
LRU 140 101 130
LRU-K 210 160 190
MFU 231 210 201
MRU 150 100 100
NRU 10009 170 521
Random 140 90 120
S3-FIFO 260 180 230
SLRU 150 81 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).