LMAX aims to be the fastest trading platform in the world. Clearly, in order to achieve this you need to do something special to achieve very low-latency and high-throughput with our Java platform.
Performance testing showed that using queues to pass data between stages of the system was introducing latency, so the developers focused on optimising this area.
Disruptor is the result of the developers' research and testing. The developers found that cache misses at the CPU-level, and locks requiring kernel arbitration are both extremely costly, so the developers created a framework which has "mechanical sympathy" for the hardware it's running on, and that's lock-free.
This is not a specialist solution, it's not designed to work only for a financial application. The Disruptor is a general-purpose mechanism for solving a difficult problem in concurrent programming.
Detailed instructions on how to install and use the Disruptor library on your Mac are available HERE.
Requirements:
· Java
What's New in This Release: [ read full changelog ]
· Remove deprecated timeout methods.
· Added OSGI metadata to jar file.
· Removed PaddedAtomicLong and use Sequence in all places.
· Fix various generics warnings.
· Change Sequence implementation to work around IBM JDK bug and improve performance by ~10%.
· Add a remainingCapacity() call to the Sequencer class.