Stephane,
I've been thinking about object creation and garbage a bit more, particularly concerned with the fact that there is object creation associated with publishing events to a RingBufferPublisher when using reactor. This is different from the more native use of the RingBuffer implementation where one of the goals is to reduce the amount of garbage created. This is particularly important in systems which processes a large number of messages and the per second message rate is high. In such systems, there is a lot garbage collector pressure when using reactor.
What if there was a way to provide an EventTranslator (from Disruptor) so that values can be copied into the MutableSignal instead of passing object references. If this could be introduced in some way (it could even be byte[] for low-level use cases) then it could help reduce GC pressure significantly.
Btw, in 3.0 is reactor-core no longer dependent on the original lmax Disruptor implementation?
Look forward to hearing your thoughts on this.
Thanks,
Gesly