Benchmark Results
Environment
- Date: 2026-05-25T02:42:05.589625544+00:00
- Commit:
09d72734eccde59992841fc46ad17c527ae9b438
- Branch:
main
- Dirty: false
- Rustc: rustc 1.95.0 (59807616e 2026-04-14)
- Host: x86_64-unknown-linux-gnu
- CPU: AMD EPYC 7763 64-Core Processor
Configuration
- Capacity: 4096
- Universe: 16384
- Operations: 200000
- Seed: 42
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).