Francesco Nigro
Francesco Nigro
@adamretter Not sure. If you look at the `ConcurrentHashMap::remove(Object, Object)` javadoc, it is actually more permissive then `NonBlockingHashMap::remove(Object, Object)` ie it won't NPE on a null `value`, while `NonBlockingHashMap` yes....
@adamretter any news on this one?
> With ConcurrentHashMap I never get an unexpected null value for v in compute It makes sense: I have provided a version that actually is compliant with `ConcurrentMap::compute` contract, not...
Thanks for the clarification @nitsanw :100: Let's open a "JMM law firm" now :P
@adamretter If you use this RingBuffer implementation output is different: ```java public class RingBuffer { private final MpmcArrayQueue q; private final Supplier constructor; @SuppressWarnings("unchecked") public RingBuffer(final int capacity, final Supplier...
> Is this to build some bounded capacity XADD queue? Yep altough is less precise then what we have on other CAS-based queues: the queue is still unbounded, but is...
@nitsanw going to put a proposal here this week ,unless you are going to pick it ;)
@guidomedina If you need it to be unbounded I believe there is something coming for you in the next release (fingers crossed) :)
Just for the records, I've run a couple of benchmarks using `onSpinWait` using [this](https://github.com/franz1981/JCTools/tree/xadd_pause_bench) branch : 6P-6C (4 chunks of 256 elements): ``` Benchmark (burstSize) (chunkSize) (consumerCount) (onSpinWait) (pooledChunks) (qCapacity)...
@nitsanw FYI this is the algorithm of Jiffy https://github.com/DolevAdas/Jiffy/blob/master/MpScQueue.h