
disruptor-net
Update 24/12/2011
Disruptor-net moved to Github, you will find the latest versions of the code here: https://github.com/odeheurles/Disruptor-net
The Github repository contains: * equivalent of version 2.7.1 of the Java codebase (a few minor things missings but should be available soon) * a new task scheduler that can be used to run the Disruptor with processor affinity * a new Atomic assembly containing an equivalent of the Java Atomic package: (under development)
The SVN repository available on this site will no longer be maintained.
Disruptor-net
The disruptor is a concurrency component used to exchange messages between threads (producer consumer) It is optimised for high throughput and low latency scenarios.
This component was initially developed in Java by the LMAX team and we ported it to .NET.
Before going any further, we recommand to read their technical paper, which explains why they decided to develop this component and why it is so fast. This video is as well a very good introduction to the disruptor.
Disruptor internals
If you want to understand how the disruptor is designed, the LMAX team wrote several articles and blogs which are perfectly valid for the .NET version as well.
Differences between Java and .NET implementations are highlighted in the wiki, here.
Using the disruptor
Beta versions of the .NET Disruptor are available in the Download section and you can see the major list of changes here.
To start you can have a look to the code examples or download the source code and look at the performance tests implementation for more advanced scenarios (all the scenarios available in the Java version have been ported as well).
Questions? Ideas? Want to contribute to the project?
Have a look to our discussion group.
Project Information
The project was created on Jun 27, 2011.
- License: Apache License 2.0
- 54 stars
- svn-based source control
Labels:
Performance
Concurrency
.NET
Framework
RingBuffer
Threading