]
Will Burns commented on ISPN-9816:
----------------------------------
Actually running without the more recent changes the non segmented performance is pretty
much the same.
{quote}
Benchmark (batchSize) (entryAmount) (keyObjectSize) (nodes)
(useIdentityCache) (useStrings) (valueObjectSize) Mode Cnt Score Error Units
JMHBenchmarks.sizeParallel 4096 50000 10 6
true false 100 thrpt 20 3.525 ± 0.075 ops/s
JMHBenchmarks.sizeSequential 4096 50000 10 6
true false 100 thrpt 20 0.757 ± 0.029 ops/s
{quote}
Handle non segmented container/store for publisher more efficiently
-------------------------------------------------------------------
Key: ISPN-9816
URL:
https://issues.jboss.org/browse/ISPN-9816
Project: Infinispan
Issue Type: Sub-task
Components: Publisher
Reporter: Will Burns
Assignee: Will Burns
Priority: Major
Fix For: 10.0.0.Final
The new Publisher is designed to take into account segmented data container and segmented
stores. However if a store/data container is not segmented, the handling can cause
performance issues, although it would still behave better memory and rehash based. The
tradeoff is probably fine for data container, however stores performance drop would be
massive. We need to process all segments in at least the non segmented store case to
retain our old performance.
To clarify this would require changes in the LocalPublisherManagerImpl class when
invoking `CacheCollection.localPublisher(int)`, we would need to instead invoke
`CacheCollection.localPublisher(IntSet)` so that we only have to iterate over the store
once instead of IntSet.size times.