Francesco Nigro

Results 177 comments of 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....

> 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