Disruptor v2.5 Release Notes
-
- ๐ Changed RingBuffer and publisher API so any mutable object can be placed in the RingBuffer without having to extend AbstractEvent
- โ Added EventPublisher implementation to allow the publishing steps to be combined into one action
- ๐ DisruptorWizard has been renamed to Disruptor with added support for any subtype of EventProcessor
- ๐ Introduced a new Sequencer class that allows the Disruptor to be applied to other data structures such as multiple arrays. This can be a very useful pattern when multiple event processors work on the same event and you want to avoid false sharing. The Diamond for FizzBuzz is a good example of the issue. It is also higher performance by avoiding the pointer indirection when arrays of primitives are used.
- ๐ Further increased performance and scalability by reducing false sharing.
- โ Added progressive backoff strategy to the MultiThreadedClaimStrategy to prevent publisher getting into the claim cycle when the buffer is full because of a slow EventProcessor.
- ๐ Significantly improved performance to WaitStrategy.Option.BLOCKING
- Introduced SequenceGroup to allow dynamic registration of EventProcessors.