Skip to content
cruftex.net

Java Caching Benchmarks 2016 - Part 2 - The Graphs

Graphs for all traces from the post Java Caching Benchmarks 2016 - Part 2. The hit rate is shown by cache size; OPT is the theoretical optimum, RAND evicts at random.

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %90 %hit rate in %20355080100300500cache size (entries)OPT · 20: 27.62 %LRU · 20: 0.62 %CLOCK · 20: 0.62 %EHCache2 · 20: 1.8 %Guava · 20: 0.55 %Caffeine · 20: 22.53 %cache2k · 20: 17.41 %RAND · 20: 7.72 %OPT · 35: 47.57 %LRU · 35: 0.85 %CLOCK · 35: 1.01 %EHCache2 · 35: 10.22 %Guava · 35: 1.15 %Caffeine · 35: 43.31 %cache2k · 35: 27.83 %RAND · 35: 14.97 %OPT · 50: 63.46 %LRU · 50: 9.27 %CLOCK · 50: 10.45 %EHCache2 · 50: 22.6 %Guava · 50: 11 %Caffeine · 50: 56.75 %cache2k · 50: 38.58 %RAND · 50: 18.4 %OPT · 80: 79.35 %LRU · 80: 44.25 %CLOCK · 80: 52.62 %EHCache2 · 80: 42.84 %Guava · 80: 46.67 %Caffeine · 80: 72.75 %cache2k · 80: 69.82 %RAND · 80: 49.95 %OPT · 100: 82.6 %LRU · 100: 69.71 %CLOCK · 100: 71.48 %EHCache2 · 100: 53.34 %Guava · 100: 65.67 %Caffeine · 100: 77.02 %cache2k · 100: 77.78 %RAND · 100: 58.41 %OPT · 300: 86.47 %LRU · 300: 83.5 %CLOCK · 300: 83.91 %EHCache2 · 300: 80.5 %Guava · 300: 83.52 %Caffeine · 300: 84.95 %cache2k · 300: 85.64 %RAND · 300: 79.16 %OPT · 500: 86.47 %LRU · 500: 84.79 %CLOCK · 500: 85.6 %EHCache2 · 500: 84.49 %Guava · 500: 84.79 %Caffeine · 500: 85.85 %cache2k · 500: 85.83 %RAND · 500: 84.44 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the Cpp trace. Raw data: traceCpphitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND05 %10 %15 %20 %25 %30 %35 %40 %45 %50 %55 %60 %hit rate in %5001,0002,000cache size (entries)OPT · 500: 34.33 %LRU · 500: 0.95 %CLOCK · 500: 1.19 %EHCache2 · 500: 3.71 %Guava · 500: 1.03 %Caffeine · 500: 33.04 %cache2k · 500: 17.62 %RAND · 500: 9.41 %OPT · 1,000: 53.15 %LRU · 1,000: 11.2 %CLOCK · 1,000: 11.31 %EHCache2 · 1,000: 21.3 %Guava · 1,000: 11.2 %Caffeine · 1,000: 49.28 %cache2k · 1,000: 36.61 %RAND · 1,000: 40.03 %OPT · 2,000: 57.96 %LRU · 2,000: 57.41 %CLOCK · 2,000: 57.41 %EHCache2 · 2,000: 57.04 %Guava · 2,000: 57.41 %Caffeine · 2,000: 57.96 %cache2k · 2,000: 57.41 %RAND · 2,000: 52.7 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the Glimpse trace. Raw data: traceGlimpsehitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %hit rate in %6001,8003,000cache size (entries)OPT · 600: 55.51 %LRU · 600: 37.14 %CLOCK · 600: 38.45 %EHCache2 · 600: 36.62 %Guava · 600: 37.16 %Caffeine · 600: 50.81 %cache2k · 600: 49.71 %RAND · 600: 27.15 %OPT · 1,800: 73.13 %LRU · 1,800: 48.5 %CLOCK · 1,800: 50.08 %EHCache2 · 1,800: 50.93 %Guava · 1,800: 48.5 %Caffeine · 1,800: 67.56 %cache2k · 1,800: 65.66 %RAND · 1,800: 52.35 %OPT · 3,000: 78.4 %LRU · 3,000: 71.18 %CLOCK · 3,000: 71.03 %EHCache2 · 3,000: 69.41 %Guava · 3,000: 71.05 %Caffeine · 3,000: 77.94 %cache2k · 3,000: 74.59 %RAND · 3,000: 57.49 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the Multi2 trace. Raw data: traceMulti2hitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %hit rate in %1,0002,0005,00010,00015,000cache size (entries)OPT · 1,000: 53.63 %LRU · 1,000: 32.84 %CLOCK · 1,000: 33.28 %EHCache2 · 1,000: 32.25 %Guava · 1,000: 32.77 %Caffeine · 1,000: 35.5 %cache2k · 1,000: 36.32 %RAND · 1,000: 23.52 %OPT · 2,000: 60.39 %LRU · 2,000: 42.47 %CLOCK · 2,000: 43.02 %EHCache2 · 2,000: 42.22 %Guava · 2,000: 42.45 %Caffeine · 2,000: 42.07 %cache2k · 2,000: 44.78 %RAND · 2,000: 32.54 %OPT · 5,000: 68.27 %LRU · 5,000: 53.65 %CLOCK · 5,000: 53.84 %EHCache2 · 5,000: 53.27 %Guava · 5,000: 53.65 %Caffeine · 5,000: 52.45 %cache2k · 5,000: 54.26 %RAND · 5,000: 43.91 %OPT · 10,000: 73.03 %LRU · 10,000: 60.71 %CLOCK · 10,000: 60.98 %EHCache2 · 10,000: 60.69 %Guava · 10,000: 60.71 %Caffeine · 10,000: 59.42 %cache2k · 10,000: 61.55 %RAND · 10,000: 52.04 %OPT · 15,000: 75.14 %LRU · 15,000: 64.64 %CLOCK · 15,000: 64.76 %EHCache2 · 15,000: 64.49 %Guava · 15,000: 64.62 %Caffeine · 15,000: 62.42 %cache2k · 15,000: 65.08 %RAND · 15,000: 53.71 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the Oltp trace. Raw data: traceOltphitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %90 %100 %hit rate in %6251,2502,5005,00010,00020,000cache size (entries)OPT · 625: 81.38 %LRU · 625: 70.84 %CLOCK · 625: 72.53 %EHCache2 · 625: 74.14 %Guava · 625: 72.29 %Caffeine · 625: 57.11 %cache2k · 625: 67.09 %RAND · 625: 67.12 %OPT · 1,250: 85.16 %LRU · 1,250: 79.61 %CLOCK · 1,250: 79.53 %EHCache2 · 1,250: 79.61 %Guava · 1,250: 79.58 %Caffeine · 1,250: 66.38 %cache2k · 1,250: 76.86 %RAND · 1,250: 74.56 %OPT · 2,500: 88.25 %LRU · 2,500: 82.2 %CLOCK · 2,500: 82.22 %EHCache2 · 2,500: 82.28 %Guava · 2,500: 82.2 %Caffeine · 2,500: 75.09 %cache2k · 2,500: 82.46 %RAND · 2,500: 77.21 %OPT · 5,000: 91.39 %LRU · 5,000: 85.47 %CLOCK · 5,000: 85.34 %EHCache2 · 5,000: 85.53 %Guava · 5,000: 85.47 %Caffeine · 5,000: 83.12 %cache2k · 5,000: 86.34 %RAND · 5,000: 82.81 %OPT · 10,000: 94.4 %LRU · 10,000: 89.49 %CLOCK · 10,000: 89.33 %EHCache2 · 10,000: 89.51 %Guava · 10,000: 89.49 %Caffeine · 10,000: 89.04 %cache2k · 10,000: 90.28 %RAND · 10,000: 87.3 %OPT · 20,000: 96.7 %LRU · 20,000: 93.61 %CLOCK · 20,000: 93.53 %EHCache2 · 20,000: 93.58 %Guava · 20,000: 93.61 %Caffeine · 20,000: 94.37 %cache2k · 20,000: 94.37 %RAND · 20,000: 91.63 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the OrmAccessBusytime trace. Raw data: traceOrmAccessBusytimehitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %90 %100 %hit rate in %6251,2502,5005,00010,00020,000cache size (entries)OPT · 625: 71.69 %LRU · 625: 63.68 %CLOCK · 625: 64.79 %EHCache2 · 625: 63.1 %Guava · 625: 63.95 %Caffeine · 625: 44.93 %cache2k · 625: 56.52 %RAND · 625: 57.03 %OPT · 1,250: 78 %LRU · 1,250: 67.91 %CLOCK · 1,250: 67.93 %EHCache2 · 1,250: 67.78 %Guava · 1,250: 67.91 %Caffeine · 1,250: 61.01 %cache2k · 1,250: 67.7 %RAND · 1,250: 64.84 %OPT · 2,500: 87.64 %LRU · 2,500: 72 %CLOCK · 2,500: 72.79 %EHCache2 · 2,500: 73.4 %Guava · 2,500: 72.05 %Caffeine · 2,500: 74.78 %cache2k · 2,500: 74.22 %RAND · 2,500: 71.98 %OPT · 5,000: 94.16 %LRU · 5,000: 87.85 %CLOCK · 5,000: 87.27 %EHCache2 · 5,000: 87.72 %Guava · 5,000: 87.85 %Caffeine · 5,000: 88.14 %cache2k · 5,000: 86.11 %RAND · 5,000: 80.01 %OPT · 10,000: 96.33 %LRU · 10,000: 94.06 %CLOCK · 10,000: 93.87 %EHCache2 · 10,000: 94 %Guava · 10,000: 94.06 %Caffeine · 10,000: 93.53 %cache2k · 10,000: 94.27 %RAND · 10,000: 90.7 %OPT · 20,000: 97.6 %LRU · 20,000: 95.88 %CLOCK · 20,000: 95.83 %EHCache2 · 20,000: 95.88 %Guava · 20,000: 95.88 %Caffeine · 20,000: 96.14 %cache2k · 20,000: 96.33 %RAND · 20,000: 94.19 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the OrmAccessNight trace. Raw data: traceOrmAccessNighthitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %90 %100 %hit rate in %1002004006008001,000cache size (entries)OPT · 100: 50.9 %LRU · 100: 21.59 %CLOCK · 100: 21.87 %EHCache2 · 100: 22.76 %Guava · 100: 21.82 %Caffeine · 100: 31.26 %cache2k · 100: 27.96 %RAND · 100: 20.49 %OPT · 200: 68.89 %LRU · 200: 39.87 %CLOCK · 200: 40.81 %EHCache2 · 200: 40.83 %Guava · 200: 39.82 %Caffeine · 200: 49.65 %cache2k · 200: 45.98 %RAND · 200: 37.06 %OPT · 400: 84.55 %LRU · 400: 70.77 %CLOCK · 400: 70.43 %EHCache2 · 400: 66.19 %Guava · 400: 70.27 %Caffeine · 400: 68.76 %cache2k · 400: 69.54 %RAND · 400: 57.17 %OPT · 600: 89.96 %LRU · 600: 83.2 %CLOCK · 600: 83.17 %EHCache2 · 600: 80.03 %Guava · 600: 82.91 %Caffeine · 600: 77.56 %cache2k · 600: 81.56 %RAND · 600: 71 %OPT · 800: 92.2 %LRU · 800: 88.56 %CLOCK · 800: 88.32 %EHCache2 · 800: 86.22 %Guava · 800: 88.3 %Caffeine · 800: 80.75 %cache2k · 800: 85.75 %RAND · 800: 76.12 %OPT · 1,000: 93.24 %LRU · 1,000: 90.64 %CLOCK · 1,000: 90.3 %EHCache2 · 1,000: 89.52 %Guava · 1,000: 90.61 %Caffeine · 1,000: 82.86 %cache2k · 1,000: 87.88 %RAND · 1,000: 80.78 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the Sprite trace. Raw data: traceSpritehitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %90 %100 %hit rate in %100200350500800cache size (entries)OPT · 100: 39.89 %LRU · 100: 9.99 %CLOCK · 100: 9.99 %EHCache2 · 100: 9.97 %Guava · 100: 9.99 %Caffeine · 100: 9.99 %cache2k · 100: 10.02 %RAND · 100: 9.94 %OPT · 200: 55.11 %LRU · 200: 19.98 %CLOCK · 200: 19.98 %EHCache2 · 200: 20.01 %Guava · 200: 19.98 %Caffeine · 200: 19.98 %cache2k · 200: 20.01 %RAND · 200: 20.01 %OPT · 350: 70.18 %LRU · 350: 35 %CLOCK · 350: 35 %EHCache2 · 350: 34.97 %Guava · 350: 35 %Caffeine · 350: 35 %cache2k · 350: 35 %RAND · 350: 35.02 %OPT · 500: 80.78 %LRU · 500: 50.04 %CLOCK · 500: 50.01 %EHCache2 · 500: 50.04 %Guava · 500: 50.01 %Caffeine · 500: 50.04 %cache2k · 500: 49.99 %RAND · 500: 50.04 %OPT · 800: 94.75 %LRU · 800: 79.99 %CLOCK · 800: 80.02 %EHCache2 · 800: 79.99 %Guava · 800: 79.99 %Caffeine · 800: 80.02 %cache2k · 800: 79.96 %RAND · 800: 79.99 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the TotalRandom1000 trace. Raw data: traceTotalRandom1000hitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %hit rate in %12,50025,00050,000100,000200,000cache size (entries)OPT · 12,500: 57.1 %LRU · 12,500: 46.15 %CLOCK · 12,500: 46.6 %EHCache2 · 12,500: 46.11 %Guava · 12,500: 46.15 %Caffeine · 12,500: 43.19 %cache2k · 12,500: 45.96 %RAND · 12,500: 38.53 %OPT · 25,000: 60.6 %LRU · 25,000: 49.58 %CLOCK · 25,000: 49.99 %EHCache2 · 25,000: 49.52 %Guava · 25,000: 49.58 %Caffeine · 25,000: 46 %cache2k · 25,000: 49.03 %RAND · 25,000: 42.24 %OPT · 50,000: 64.67 %LRU · 50,000: 53.02 %CLOCK · 50,000: 53.77 %EHCache2 · 50,000: 52.98 %Guava · 50,000: 53.02 %Caffeine · 50,000: 50.4 %cache2k · 50,000: 54.8 %RAND · 50,000: 49.88 %OPT · 100,000: 69.68 %LRU · 100,000: 57.31 %CLOCK · 100,000: 58.54 %EHCache2 · 100,000: 57.48 %Guava · 100,000: 57.31 %Caffeine · 100,000: 57.65 %cache2k · 100,000: 59.93 %RAND · 100,000: 56.99 %OPT · 200,000: 70.86 %LRU · 200,000: 67.4 %CLOCK · 200,000: 67.12 %EHCache2 · 200,000: 67.19 %Guava · 200,000: 67.42 %Caffeine · 200,000: 68.07 %cache2k · 200,000: 67.12 %RAND · 200,000: 64.48 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the UmassFinancial1 trace. Raw data: traceUmassFinancial1hitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %90 %hit rate in %5,00010,00020,00040,00080,000cache size (entries)OPT · 5,000: 78.45 %LRU · 5,000: 64.9 %CLOCK · 5,000: 65.68 %EHCache2 · 5,000: 64.83 %Guava · 5,000: 64.92 %Caffeine · 5,000: 67.99 %cache2k · 5,000: 68.27 %RAND · 5,000: 54.98 %OPT · 10,000: 84.08 %LRU · 10,000: 73.55 %CLOCK · 10,000: 73.91 %EHCache2 · 10,000: 73.43 %Guava · 10,000: 73.57 %Caffeine · 10,000: 75.36 %cache2k · 10,000: 76.57 %RAND · 10,000: 65.47 %OPT · 20,000: 87.74 %LRU · 20,000: 80.75 %CLOCK · 20,000: 81.3 %EHCache2 · 20,000: 80.73 %Guava · 20,000: 80.75 %Caffeine · 20,000: 81.61 %cache2k · 20,000: 83.03 %RAND · 20,000: 75.12 %OPT · 40,000: 89.74 %LRU · 40,000: 86.29 %CLOCK · 40,000: 86.39 %EHCache2 · 40,000: 86.27 %Guava · 40,000: 86.29 %Caffeine · 40,000: 85.82 %cache2k · 40,000: 87.03 %RAND · 40,000: 83.27 %OPT · 80,000: 89.74 %LRU · 80,000: 89.41 %CLOCK · 80,000: 89.38 %EHCache2 · 80,000: 89.33 %Guava · 80,000: 89.41 %Caffeine · 80,000: 89.19 %cache2k · 80,000: 89.38 %RAND · 80,000: 88.91 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the UmassFinancial2 trace. Raw data: traceUmassFinancial2hitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND05 %10 %15 %20 %25 %30 %35 %40 %45 %50 %55 %hit rate in %100,000200,000300,000cache size (entries)OPT · 100,000: 41.66 %LRU · 100,000: 5.88 %CLOCK · 100,000: 6.71 %EHCache2 · 100,000: 6.95 %Guava · 100,000: 5.88 %Caffeine · 100,000: 22.57 %cache2k · 100,000: 18.84 %RAND · 100,000: 12.8 %OPT · 200,000: 52.98 %LRU · 200,000: 28.66 %CLOCK · 200,000: 29.7 %EHCache2 · 200,000: 28.49 %Guava · 200,000: 28.66 %Caffeine · 200,000: 37.19 %cache2k · 200,000: 33.95 %RAND · 200,000: 29.11 %OPT · 300,000: 52.98 %LRU · 300,000: 44.05 %CLOCK · 300,000: 44.67 %EHCache2 · 300,000: 43.93 %Guava · 300,000: 44.05 %Caffeine · 300,000: 47.06 %cache2k · 300,000: 45.16 %RAND · 300,000: 42.61 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the UmassWebSearch1 trace. Raw data: traceUmassWebSearch1hitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %hit rate in %753001,2003,000cache size (entries)OPT · 75: 46.61 %LRU · 75: 31.15 %CLOCK · 75: 31.9 %EHCache2 · 75: 27.88 %Guava · 75: 31.04 %Caffeine · 75: 30.9 %cache2k · 75: 32.25 %RAND · 75: 17.48 %OPT · 300: 55.89 %LRU · 300: 41.9 %CLOCK · 300: 42.55 %EHCache2 · 300: 39.66 %Guava · 300: 41.9 %Caffeine · 300: 43.49 %cache2k · 300: 44.9 %RAND · 300: 30.36 %OPT · 1,200: 64.64 %LRU · 1,200: 51.64 %CLOCK · 1,200: 52.35 %EHCache2 · 1,200: 51.35 %Guava · 1,200: 51.64 %Caffeine · 1,200: 53.8 %cache2k · 1,200: 55.03 %RAND · 1,200: 44.82 %OPT · 3,000: 70.28 %LRU · 3,000: 58.55 %CLOCK · 3,000: 59.05 %EHCache2 · 3,000: 58.47 %Guava · 3,000: 58.55 %Caffeine · 3,000: 59.34 %cache2k · 3,000: 60.73 %RAND · 3,000: 50.29 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the Web07 trace. Raw data: traceWeb07hitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %90 %hit rate in %753001,2003,000cache size (entries)OPT · 75: 51.99 %LRU · 75: 33.24 %CLOCK · 75: 33.52 %EHCache2 · 75: 29.38 %Guava · 75: 32.72 %Caffeine · 75: 27.2 %cache2k · 75: 30.03 %RAND · 75: 20.29 %OPT · 300: 66.85 %LRU · 300: 49.01 %CLOCK · 300: 49.79 %EHCache2 · 300: 46.3 %Guava · 300: 48.9 %Caffeine · 300: 49.08 %cache2k · 300: 51.87 %RAND · 300: 37.26 %OPT · 1,200: 79.12 %LRU · 1,200: 66.85 %CLOCK · 1,200: 67.6 %EHCache2 · 1,200: 66.36 %Guava · 1,200: 66.85 %Caffeine · 1,200: 69.28 %cache2k · 1,200: 70.76 %RAND · 1,200: 57.96 %OPT · 3,000: 84.24 %LRU · 3,000: 76.47 %CLOCK · 3,000: 76.85 %EHCache2 · 3,000: 76.31 %Guava · 3,000: 76.45 %Caffeine · 3,000: 77.08 %cache2k · 3,000: 78.39 %RAND · 3,000: 66.5 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the Web12 trace. Raw data: traceWeb12hitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %90 %100 %hit rate in %5002,0008,000cache size (entries)OPT · 500: 74.64 %LRU · 500: 58.49 %CLOCK · 500: 59.66 %EHCache2 · 500: 56.51 %Guava · 500: 58.47 %Caffeine · 500: 67.36 %cache2k · 500: 67.54 %RAND · 500: 56.46 %OPT · 2,000: 88.17 %LRU · 2,000: 76.54 %CLOCK · 2,000: 77.35 %EHCache2 · 2,000: 76.38 %Guava · 2,000: 76.54 %Caffeine · 2,000: 81.9 %cache2k · 2,000: 81.38 %RAND · 2,000: 74.85 %OPT · 8,000: 99.04 %LRU · 8,000: 96.72 %CLOCK · 8,000: 96.8 %EHCache2 · 8,000: 96.67 %Guava · 8,000: 96.72 %Caffeine · 8,000: 97.22 %cache2k · 8,000: 97.11 %RAND · 8,000: 97.58 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the Zipf10k trace. Raw data: traceZipf10khitrateProducts.dat
OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.OPTLRUCLOCKEHCache2GuavaCaffeinecache2kRAND010 %20 %30 %40 %50 %60 %70 %80 %90 %100 %hit rate in %50100300500700cache size (entries)OPT · 50: 67.74 %LRU · 50: 47.81 %CLOCK · 50: 49.42 %EHCache2 · 50: 39.74 %Guava · 50: 47.68 %Caffeine · 50: 59.08 %cache2k · 50: 59.29 %RAND · 50: 30.05 %OPT · 100: 76.89 %LRU · 100: 59.31 %CLOCK · 100: 60.62 %EHCache2 · 100: 52.27 %Guava · 100: 59.08 %Caffeine · 100: 68.59 %cache2k · 100: 68.2 %RAND · 100: 51.7 %OPT · 300: 90.39 %LRU · 300: 78.86 %CLOCK · 300: 79.63 %EHCache2 · 300: 76.35 %Guava · 300: 78.81 %Caffeine · 300: 83.81 %cache2k · 300: 82.73 %RAND · 300: 36.2 %OPT · 500: 95.75 %LRU · 500: 88.65 %CLOCK · 500: 89.01 %EHCache2 · 500: 87.21 %Guava · 500: 88.62 %Caffeine · 500: 90.98 %cache2k · 500: 90.06 %RAND · 500: 87.73 %OPT · 700: 98.59 %LRU · 700: 95.26 %CLOCK · 700: 95.36 %EHCache2 · 700: 94.67 %Guava · 700: 95.26 %Caffeine · 700: 96.03 %cache2k · 700: 95.9 %RAND · 700: 92.29 %

OPT = optimal replacement (Belady), RAND = random eviction; LRU and CLOCK are reference implementations from cache2k-benchmark.

Hit rate by cache size for the Zipf900 trace. Raw data: traceZipf900hitrateProducts.dat