15

There are open source Java and .NET versions of LMAX's Disruptor pattern, as described in the video LMAX - How to Do 100K TPS at Less than 1ms Latency. Here is more links to information on the Disruptor pattern.

Is anyone aware of a port of the Disruptor pattern to C++, either finished or in beta?

Update

Apparently others are calling for a C++ version of the Disruptor pattern.

Community
  • 1
  • 1
Contango
  • 76,540
  • 58
  • 260
  • 305

3 Answers3

11

Yes, there is already a functional C++ port. See http://www.2robots.com/2011/08/13/a-c-disruptor/.

RobotTwo
  • 142
  • 2
  • 1
    Project's code moved to https://github.com/fsaintjacques/disruptor-- – Daniel YC Lin Jul 10 '12 at 08:27
  • do someone know if it compiles under Windows? – Oleg Vazhnev Sep 27 '13 at 07:45
  • 1
    i've tried to compile in Windows but received several errors. `DISALLOW_COPY_AND_ASSIGN` is unknown macros and also `gettimeofday` function is linux-only. But it seems most part of the code is pretty portable, it's sad that these several places is not surrounded with "WIN32" ifdef... – Oleg Vazhnev Sep 27 '13 at 08:15
3

From the above link ("others are calling.."), comments:

Thread for discussing upcoming C++ port of the Disruptor pattern: http://groups.google.com/group/lmax-disruptor/browse_thread/thread/4a47a0a9b5837ca2

Performance of C++ version of Disruptor: approx. 22 million messages per second, with batching this reaches up to 100 million messages per second, see: http://mechanical-sympathy.blogspot.com/2011/08/inter-thread-latency.html

user136776
  • 606
  • 5
  • 5
2

There is a free version called hmbdc-base.rpm that can be downloaded from:

https://bitbucket.org/hmbd/hmbdc-rel/downloads

It supports CentOS 7, and doesn't rely on virtual functions, sub microsecond delay, very fast.

It also has reliable subscribe / publish multicast messaging support.

Contango
  • 76,540
  • 58
  • 260
  • 305
Sclaker
  • 69
  • 4