Hello, we are evaluating the Conversant Disruptor as a drop in replacement for other BlockingQueue implementations in multi producer, multi consumer scenarios, when the number of queues, producers and consumers are limited. In our tests the performance looks very promising. There are also JMH tests available. Anyone using this library? Is it production ready (despite the current version number it doesn't seem to have been around for long)?
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
--
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
--
You received this message because you are subscribed to a topic in the Google Groups "mechanical-sympathy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mechanical-sympathy/c5x0c2Zsfpc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mechanical-symp...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.
--
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
What's your definition of uncoordinated here, exactly?
If the index values only increase, confirming that one of these values was the same either side of a measurement of the other value guarantees that the queue really did pass through a state representing that size at some arbitrary point during the execution of the method. That seems pretty coordinated to me.
Said differently: there are definitely sequences of mutations that would yield a zero (or arbitrarily large, depending on how you do it) value for your implementation, where the real value is - at all times - (close to) the opposite.
Here, too, it's likely the distinction isn't meaningful for most cases, but there are conceivably situations in which the distinction does matter.
but then we should also be paranoid about the unbounded stable read loop not terminating either
Why does one follow from the other?
The question is if the semantics are the same, and they clearly are not; one is not better than the other, they simply offer different behaviours.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-sympathy+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Sent from my phone
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Sent from my phone
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
# JMH 1.11.3 (released 56 days ago)
# VM version: JDK 1.8.0_74, VM 25.74-b02
# VM invoker: /home/martin/opt/jdk1.8.0_74/jre/bin/java
# VM options: -Dagrona.disable.bounds.checks=true
# Warmup: 5 iterations, 1 s each
# Measurement: 10 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 3 threads, will synchronize iterations
# Benchmark mode: Sampling time
# Benchmark: uk.co.real_logic.benchmarks.latency.ConversantDisruptorBenchmark.test3Producers
# Parameters: (burstLength = 100)
Histogram, ns/op:
[ 0.000, 1250000.000) = 2818800
[ 1250000.000, 2500000.000) = 9794
[ 2500000.000, 3750000.000) = 2367
[ 3750000.000, 5000000.000) = 611
[ 5000000.000, 6250000.000) = 219
[ 6250000.000, 7500000.000) = 50
[ 7500000.000, 8750000.000) = 8
[ 8750000.000, 10000000.000) = 3
[10000000.000, 11250000.000) = 1
[11250000.000, 12500000.000) = 0
[12500000.000, 13750000.000) = 1
[13750000.000, 15000000.000) = 0
[15000000.000, 16250000.000) = 0
[16250000.000, 17500000.000) = 0
[17500000.000, 18750000.000) = 0
Percentiles, ns/op:
p(0.0000) = 2796.000 ns/op
p(50.0000) = 7304.000 ns/op
p(90.0000) = 9408.000 ns/op
p(95.0000) = 13280.000 ns/op
p(99.0000) = 563200.000 ns/op
p(99.9000) = 2646016.000 ns/op
p(99.9900) = 4995600.384 ns/op
p(99.9990) = 6938987.315 ns/op
p(99.9999) = 9553906.564 ns/op
p(100.0000) = 13680640.000 ns/op
# JMH 1.11.3 (released 56 days ago)
# VM version: JDK 1.8.0_74, VM 25.74-b02
# VM invoker: /home/martin/opt/jdk1.8.0_74/jre/bin/java
# VM options: -Dagrona.disable.bounds.checks=true
# Warmup: 5 iterations, 1 s each
# Measurement: 10 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 3 threads, will synchronize iterations
# Benchmark mode: Sampling time
# Benchmark: uk.co.real_logic.benchmarks.latency.DisruptorBenchmark.test3Producers
# Parameters: (burstLength = 100)
Histogram, ns/op:
[ 0.000, 2500.000) = 4084352
[ 2500.000, 5000.000) = 207
[ 5000.000, 7500.000) = 17
[ 7500.000, 10000.000) = 17
[10000.000, 12500.000) = 4
[12500.000, 15000.000) = 2
[15000.000, 17500.000) = 2
[17500.000, 20000.000) = 1
[20000.000, 22500.000) = 0
[22500.000, 25000.000) = 0
[25000.000, 27500.000) = 1
Percentiles, ns/op:
p(0.0000) = 139.000 ns/op
p(50.0000) = 286.000 ns/op
p(90.0000) = 418.000 ns/op
p(95.0000) = 500.000 ns/op
p(99.0000) = 670.000 ns/op
p(99.9000) = 875.000 ns/op
p(99.9900) = 1232.000 ns/op
p(99.9990) = 5187.695 ns/op
p(99.9999) = 15058.109 ns/op
p(100.0000) = 26016.000 ns/op
Benchmark (burstLength) Mode Cnt Score Error Units
ConversantDisruptorBenchmark.test1Producer 1 sample 1757757 243.276 ± 0.155 ns/op
ConversantDisruptorBenchmark.test1Producer 100 sample 1329366 6601.872 ± 1.642 ns/op
ConversantDisruptorBenchmark.test2Producers 1 sample 3081830 277.336 ± 0.110 ns/op
ConversantDisruptorBenchmark.test2Producers 100 sample 2765956 16047.311 ± 242.942 ns/op
ConversantDisruptorBenchmark.test3Producers 1 sample 3342357 366.687 ± 0.217 ns/op
ConversantDisruptorBenchmark.test3Producers 100 sample 2831854 25040.348 ± 340.575 ns/op
DisruptorBenchmark.test1Producer 1 sample 1766823 230.556 ± 0.176 ns/op
DisruptorBenchmark.test1Producer 100 sample 1600208 7240.488 ± 1.655 ns/op
DisruptorBenchmark.test2Producers 1 sample 2954373 257.757 ± 0.105 ns/op
DisruptorBenchmark.test2Producers 100 sample 2852658 15778.326 ± 3.778 ns/op
DisruptorBenchmark.test3Producers 1 sample 4084603 310.108 ± 0.165 ns/op
DisruptorBenchmark.test3Producers 100 sample 3043268 29028.470 ± 16.597 ns/op
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to a topic in the Google Groups "mechanical-sympathy" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mechanical-sympathy/c5x0c2Zsfpc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mechanical-symp...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.