什么是LMAX干扰队列的高性能替代品?

时间:2012-07-11 22:45:19

标签: c concurrency disruptor-pattern

我正在对Disruptor Queues的内部C实现进行性能测试,我很乐意将其他类似的方法用于非线程事件流处理。谷歌很少,所以任何指针或建议都非常受欢迎。

3 个答案:

答案 0 :(得分:2)

包含可能的C ++源代码的队列目录可以移植到C):

http://www.1024cores.net/home/lock-free-algorithms/queues/queue-catalog

已将其中一个移植到Scala,并获得比标准java.util.concurrent.ConcurrentLinkedQueue更好的延迟和吞吐量:

https://github.com/plokhotnyuk/actors/blob/c92576e3b200180ee1c8ea521fb668c538f125ab/src/main/scala/com/github/plokhotnyuk/actors/MPSCQueue.scala

答案 1 :(得分:2)

这里有一个C实现:

https://github.com/colding/disruptorC

请在README中注意有关演奏的说明。

答案 2 :(得分:0)

我会检查ØMQ并使用他们的线程间通信传输zmq_inproc,而不是PUSH / PULL sockets。通信是单向的,但是最快的选择。