I didn't TBH, I only used YieldWaitStrategy, here is the original source I
tried for Akka:
https://github.com/guidomedina/akka-disruptor/blob/master/src/main/java/akka/dispatch/SingleConsumerOnlyBoundedMessageQueue.java

But ... I ended up concluding that LMAX is ok for inter-thread comms but a
lock free queue is better for that, as a queue hence I switched to JCTools
which isn't more than a proper Lamport's algorithm with some modifications
which its model has been copied to Netty and Akka, for example the fastest
Akka mailbox which is SingleConsumerOnlyMailbox is based on
MpscLinkedQueue, hence I'm wondering now if for Asynchronous logging
JCtools will perform better as I'm seeing some CPU spikes with LMAX and
Log4j2.

Regards,

Guido.

On Mon, Jan 25, 2016 at 5:26 PM, sampath kumar <[email protected]> wrote:

> Guido,
>
> Did you try using different waiting strategies of LMAX  before trying
> JCTools  ?
>
> Regards,
> Sampath
>
> On Mon, Jan 25, 2016 at 10:30 PM, Guido Medina <[email protected]> wrote:
>
>> I'm wondering if anyone would be willing to test the current LMAX
>> implementation vs JCTools specifically using the following class:
>>
>> I currently use them with Akka mailboxes, I tried LMAX once but with some
>> CPUs LMAX disruptor was behaving a bit weird which is why I prefer
>> Lamport's implementations of circular buffers that are very well known and
>> in use by Netty, Akka, etc.
>>
>> Or I could try and contribute by changing the LMAX for JCTools:
>>
>> JCtools-core dependency:
>>
>> <dependency>
>>     <groupId>org.jctools</groupId>
>>     <artifactId>jctools-core</artifactId>
>>     <version>1.1</version>
>> </dependency>
>>
>> Specific class that would replace LMAX disruptor:
>> https://github.com/JCTools/JCTools/blob/master/jctools-core/src/main/java/org/jctools/queues/MpscArrayQueue.java
>>
>> Best regards,
>>
>> Guido.
>>
>
>
>
> --
> Regards,
> Sampath
>

Reply via email to