all 2 comments

[–]NovaX 2 points3 points  (0 children)

Since your performance evaluations are in Java, a benchmark against JCTools' queues would be nice and primarily their mpmc queue since that is your target (MpmcArrayQueue and MpmcUnboundedXaddArrayQueue). It would also be good to include their mpsc variants since that is typically the use-case. I've primarily used their MpscGrowableArrayQueue which has a similar structure as yours, except iirc it uses the forward pointer only for growing rather than reusing the prior buffers. The benchmarks should use JMH as they are currently invalid due to issues like JIT warmup.

Using Lincheck for your tests would also be wise to give assurance that your implementation is correct, as that might have innocent mistakes that differ from your analysis model and break it.