[infinispan-dev] DataContainer performance review

Vladimir Blagojevic vblagoje at redhat.com
Sun Jun 26 17:47:31 EDT 2011


Hi,

I would like to review recent DataContainer performance claims and I was 
wondering if any of you have some spare cycles to help me out.

I've added a test[1] to MapStressTest that measures and contrasts single 
node Cache performance to synchronized HashMap, ConcurrentHashMap and 
BCHM variants.


Performance for container BoundedConcurrentHashMap (LIRS)
Average get ops/ms 1063
Average put ops/ms 101
Average remove ops/ms 421
Size = 480
Performance for container BoundedConcurrentHashMap (LRU)
Average get ops/ms 976
Average put ops/ms 306
Average remove ops/ms 521
Size = 463
Performance for container CacheImpl
Average get ops/ms 94
Average put ops/ms 61
Average remove ops/ms 65
Size = 453
Performance for container ConcurrentHashMap
Average get ops/ms 484
Average put ops/ms 326
Average remove ops/ms 376
Size = 49870
Performance for container SynchronizedMap
Average get ops/ms 96
Average put ops/ms 85
Average remove ops/ms 96
Size = 49935


I ran MapStressTest on my Macbook Air, 32 threads continually doing 
get/put/remove ops. Fore more details see[1]. If my measurements are 
correct Cache instance seems to be capable of about ~220 ops per 
millisecond on my crappy hardware setup. As you can see performance of 
the entire cache structure does not seem to be much worse from a 
SynchronizedMap which is great in one hand but also leaves us some room 
for potential improvement since concurrent hashmap and BCHM seem to be 
substantially faster. I have not tested impact of having a cache store 
for passivation and I will do that tomorrow/next week.

Any comments/ideas going forward?

[1] https://github.com/infinispan/infinispan/pull/404


More information about the infinispan-dev mailing list