A regular queue allocates a new object for every message and puts pressure on the GC. We look at how the LMAX Disruptor preallocates the entire RingBuffer and reuses event objects, taking allocations out of the producer's hot path.
Swap a linked list for an array without touching the algorithm — and you get a speedup of several times. A JMH benchmark digs into why: cache misses, the dependency chain between reads, and just how much slower pointer chasing really is.