ReactiveX/RxJava — pull request #2243 by benjchristensen (2014-12-24 18:10:20+00:00)
Title: Experimental RingBuffer using WriterReaderPhaser

As per discussion in #2189 this is an attempt at implementing `RxRingBuffer` using `WriterReaderPhaser`.

The performance numbers are worse than #2189, inline with the RW Lock and WIP implementations.

See the last column:

```
Benchmark (size) Mode Samples 1.x Inline Volatile + finalize RW Lock WIP WRPhaser
r.o.OperatorMergePerf.merge1SyncStreamOfN 1 thrpt 5 4757888.048 5264594.520 4956256.323 5288310.755 5032942.628 5147447.030
r.o.OperatorMergePerf.merge1SyncStreamOfN 1000 thrpt 5 44877.618 42845.758 39209.439 25742.696 29025.955 27779.876
r.o.OperatorMergePerf.merge1SyncStreamOfN 1000000 thrpt 5 42.366 40.979 37.036 24.769 27.260 27.694
r.o.OperatorMergePerf.mergeNAsyncStreamsOfN 1 thrpt 5 99981.127 99910.070 94307.080 103112.286 103176.289 100516.101
r.o.OperatorMergePerf.mergeNAsyncStreamsOfN 1000 thrpt 5 4.675 4.620 4.670 4.374 4.313 4.413
r.o.OperatorMergePerf.mergeNSyncStreamsOf1 1 thrpt 5 4751265.583 4706441.452 4376983.062 4739418.557 4673633.614 4510099.724
r.o.OperatorMergePerf.mergeNSyncStreamsOf1 100 thrpt 5 458704.984 480075.261 427165.143 483313.588 476318.407 462373.555
r.o.OperatorMergePerf.mergeNSyncStreamsOf1 1000 thrpt 5 42493.290 42178.254 39640.240 42728.480 42542.171 41354.668
r.o.OperatorMergePerf.mergeNSyncStreamsOfN 1 thrpt 5 5406448.872 5375090.752 5066264.570 5628401.294 4974892.417 4986054.668
r.o.OperatorMergePerf.mergeNSyncStreamsOfN 1000 thrpt 5 44.528 40.990 41.106 24.974 28.212 27.755
r.o.OperatorMergePerf.mergeTwoAsyncStreamsOfN 1 thrpt 5 76898.222 72655.377 69748.305 78283.565 78987.646 78550.912
r.o.OperatorMergePerf.mergeTwoAsyncStreamsOfN 1000 thrpt 5 3172.653 2955.854 3064.749 1858.361 2204.948 2310.804
r.o.OperatorMergePerf.oneStreamOfNthatMergesIn1 1 thrpt 5 5157134.576 5163837.644 4846336.744 5290961.536 5139893.848 4486879.415
r.o.OperatorMergePerf.oneStreamOfNthatMergesIn1 1000 thrpt 5 39961.491 39341.526 37312.117 40418.492 39163.267 37424.146
r.o.OperatorMergePerf.oneStreamOfNthatMergesIn1 1000000 thrpt 5 35.925 35.730 33.948 35.526 35.611 32.287
```