Паттерн разрушителя LMAX: есть ли порт на C++?

Существуют Java с открытым исходным кодом и .NET версии шаблона Disruptor LMAX, как описано в видео LMAX - Как сделать 100 000 TPS с задержкой менее 1 мс. Вот дополнительные ссылки на информацию о шаблоне Disruptor.

Кто-нибудь знает о переносе шаблона Disruptor на C++, либо завершенного, либо в бета-версии?

Обновить

По-видимому, другие призывают к версии C++ шаблона Disruptor.


person Contango    schedule 04.08.2011    source источник


Ответы (3)


Да, уже есть функциональный порт C++. См. http://www.2robots.com/2011/08/13/ac-disruptor/.

person RobotTwo    schedule 14.08.2011
comment
кто-нибудь знает, компилируется ли он под Windows? - person Oleg Vazhnev; 27.09.2013
comment
Я пытался скомпилировать в Windows, но получил несколько ошибок. DISALLOW_COPY_AND_ASSIGN — это неизвестные макросы, а также функция gettimeofday предназначена только для Linux. Но кажется, что большая часть кода довольно переносима, печально, что эти несколько мест не окружены WIN32 ifdef... - person Oleg Vazhnev; 27.09.2013

Из приведенной выше ссылки ("другие звонят...") комментарии:

Тема для обсуждения предстоящего переноса шаблона Disruptor на C++: http://groups.google.com/group/lmax-disruptor/browse_thread/thread/4a47a0a9b5837ca2

Производительность версии Disruptor на C++: ок. 22 миллиона сообщений в секунду, при пакетной обработке это достигает 100 миллионов сообщений в секунду, см.: http://mechanical-sympathy.blogspot.com/2011/08/inter-thread-latency.html

person user136776    schedule 12.08.2011
comment
Можно ли написать порт на c#? Задавая этот вопрос здесь: stackoverflow.com/questions/8097372/ - person Big Endian; 11.11.2011
comment
Порт C# доступен по адресу code.google.com/p/disruptor-net. - person CadentOrange; 16.11.2011

Существует бесплатная версия hmbdc-base.rpm, которую можно загрузить с:

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

Он поддерживает CentOS 7 и не полагается на виртуальные функции, задержку менее микросекунды, очень быстро.

Он также имеет надежную поддержку подписки/публикации многоадресных сообщений.

person Sclaker    schedule 26.07.2016