rishabhdaim commented on PR #2898:
URL: https://github.com/apache/jackrabbit-oak/pull/2898#issuecomment-4444327116
`SegmentCachePolicyBenchmark` cacheCapacity~=1023 pool=10000 zipf=1.0
- Scenario A: Zipfian steady-state (AbstractTest timed run) ---
> CAFFEINE miss%= 26.0 hits=4,083,694 misses=1,437,306
evictions=1,436,285 evict%= 26.0
> LIRS miss%= 27.5 hits=4,002,834 misses=1,518,166
evictions=3,033,157 evict%= 54.9
> GUAVA miss%= 32.4 hits=3,734,365 misses=1,786,635
evictions=1,785,626 evict%= 32.3
- Scenario B: scan (50,000 segs) then Zipfian (warmup=20,000
measure=200,000 ops) ---
> CAFFEINE miss%= 25.3 hits= 149,331 misses= 50,669 evictions=
50,731 evict%= 25.4
> LIRS miss%= 27.5 hits= 144,914 misses= 55,086 evictions=
110,176 evict%= 55.1
> GUAVA miss%= 32.1 hits= 135,768 misses= 64,232 evictions=
64,244 evict%= 32.1
- Scenario C: cold-start regression (scan=9,000 working-set=3,000
measure=100,000 ops) ---
scan fills TinyLFU sketch at freq=1; working-set entries start at freq=0
> CAFFEINE miss%= 64.1 hits= 35,946 misses= 64,054 evictions=
63,963 evict%= 64.0
> LIRS miss%= 62.9 hits= 37,084 misses= 62,916 evictions=
127,912 evict%=127.9
> GUAVA miss%= 66.0 hits= 33,979 misses= 66,021 evictions=
66,028 evict%= 66.0
- Scenario D: uniform random / cache thrash (pool=25,000 = ~24x cache
measure=200,000 ops) ---
no hot data — uniform access over pool 25x cache; expected miss ~95%%
> CAFFEINE miss%= 95.5 hits= 9,091 misses= 190,909 evictions=
191,026 evict%= 95.5
> LIRS miss%= 93.5 hits= 13,062 misses= 186,938 evictions=
373,890 evict%=186.9
> GUAVA miss%= 95.9 hits= 8,194 misses= 191,806 evictions=
191,787 evict%= 95.9
- Scenario E: burst new content (burst=500 segs × 20 hits warmup=50,000
measure=100,000 ops) ---
warm Zipfian cache hit by burst of new segments; measures working-set miss
rate after burst subsides
> CAFFEINE miss%= 27.1 hits= 72,891 misses= 27,109 evictions=
27,110 evict%= 27.1
> LIRS miss%= 27.8 hits= 72,235 misses= 27,765 evictions=
55,038 evict%= 55.0
> GUAVA miss%= 32.3 hits= 67,699 misses= 32,301 evictions=
32,315 evict%= 32.3
- Scenario F: periodic GC/diff alternation (cycles=10 zipf/cycle=10,000
scan/cycle=2,000 measure=100,000 ops) ---
repeated small scans interleaved with Zipfian; cumulative sketch pollution
vs LRU recency aging
> CAFFEINE miss%= 25.3 hits= 74,680 misses= 25,320 evictions=
25,255 evict%= 25.3
> LIRS miss%= 27.8 hits= 72,235 misses= 27,765 evictions=
56,165 evict%= 56.2
> GUAVA miss%= 32.4 hits= 67,562 misses= 32,438 evictions=
32,446 evict%= 32.4
- Scenario G: write-heavy import then read-back (import=50,000
recent-window=2,000 measure=100,000 ops) ---
large sequential import followed by random reads of recently-imported
segments; recency (LRU) vs frequency (Caffeine) post-import
> CAFFEINE miss%= 47.2 hits= 52,801 misses= 47,199 evictions=
47,445 evict%= 47.4
> LIRS miss%= 46.9 hits= 53,052 misses= 46,948 evictions=
96,454 evict%= 96.5
> GUAVA miss%= 48.5 hits= 51,521 misses= 48,479 evictions=
48,477 evict%= 48.5
- Scenario H: sliding window / temporal locality (window=1,200 ~117% of
cache slide=200 pool=20,000 hits/item=2 measure=150,000 ops) ---
hot window slides forward; pure recency (LRU) is optimal; window > cache
forces evictions on every slide
> CAFFEINE miss%= 63.5 hits= 54,790 misses= 95,210 evictions=
95,218 evict%= 63.5
> LIRS miss%= 56.6 hits= 65,037 misses= 84,963 evictions=
169,800 evict%=113.2
> GUAVA miss%= 73.2 hits= 40,259 misses= 109,741 evictions=
109,758 evict%= 73.2
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]