Process running in 64 bits mode.
UniCast1P1CPerfTest OpsPerSecond run 0: BlockingQueues=2 483 854,00,
Disruptor=25 000 000,00, TPLDataFlow=4 551 661,00,
QueueDisruptorRatio=x10,1
UniCast1P1CPerfTest OpsPerSecond run 1: BlockingQueues=2 487 562,00,
Disruptor=26 109 660,00, TPLDataFlow=4 442 470,00,
QueueDisruptorRatio=x10,5
UniCast1P1CPerfTest OpsPerSecond run 2: BlockingQueues=2 509 410,00,
Disruptor=17 543 859,00, TPLDataFlow=4 480 286,00,
QueueDisruptorRatio=x7,0
Perf is not too bad on 64 bits but it's slower on my PC when running
in 32bits mode.
Process running in 32 bits mode.
UniCast1P1CPerfTest OpsPerSecond run 0: BlockingQueues=2 139 037,00,
Disruptor=14 471 780,00, TPLDataFlow=3 608 805,00,
QueueDisruptorRatio=x6,8
UniCast1P1CPerfTest OpsPerSecond run 1: BlockingQueues=2 340 276,00,
Disruptor=19 841 269,00, TPLDataFlow=3 889 537,00,
QueueDisruptorRatio=x8,5
UniCast1P1CPerfTest OpsPerSecond run 2: BlockingQueues=2 427 184,00,
Disruptor=11 534 025,00, TPLDataFlow=3 660 322,00,
QueueDisruptorRatio=x4,8
Do you see the same results?
On 6 juil, 23:13, Tim Gebhardt <
t...@gebhardtcomputing.com> wrote:
> Silly question: Should there be an effort to support 32-bit machines?
>
> If not, we set the project to only build on x86-64 and support only that.
> And then we can go back to using the MemoryBarrier. I know personally that
> the domain that I'll be using Disruptor-net I need 64-bits of addressing, so
> I could care less about 32-bit support.
>
> The one difference I can see between the old MemoryBarrier code and how
> VolatileRead and VolatileWrite are implemented is there is a
> MethodImpl(NoInlining) attribute attached to the Thread methods. Would the
> MemoryBarrier method require this as well? Could this be the source of the
> slowdown in that the old code was optimizing something away it shouldn't
> have?
>
> Tim
>
> When you look at the original InfoQ presentation, the LMAX guys said they
> create a ring buffer of size 22 million.
>