Skip to content

Instantly share code, notes, and snippets.

package experiment;
import java.lang.reflect.Field;
import java.util.concurrent.*;
import rx.internal.util.unsafe.UnsafeAccess;
public class LongFieldTearing {
public static long field = 1;
public static volatile long release;
import java.util.*;
import rx.Observable;
import rx.observers.TestSubscriber;
import rx.schedulers.Schedulers;
public class MergeStarving {
public static void main(String[] args) {
import java.util.*;
import org.junit.*;
import rx.Observable;
import rx.functions.Func1;
import rx.observers.TestSubscriber;
import rx.plugins.*;
import rx.schedulers.Schedulers;
package org.jctools.queues;
import java.util.concurrent.atomic.AtomicBoolean;
import org.junit.Test;
public class SpmcHappensBefore {
static final class Val {
public int value;
}
#region + GroupJoin +
[TestMethod]
public void GroupJoinOp_ArgumentChecking()
{
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupJoin(null, DummyObservable<int>.Instance, DummyFunc<int, IObservable<int>>.Instance, DummyFunc<int, IObservable<int>>.Instance, DummyFunc<int, IObservable<int>, int>.Instance));
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupJoin(DummyObservable<int>.Instance, null, DummyFunc<int, IObservable<int>>.Instance, DummyFunc<int, IObservable<int>>.Instance, DummyFunc<int, IObservable<int>, int>.Instance));
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupJoin(DummyObservable<int>.Instance, DummyObservable<int>.Instance, default(Func<int, IObservable<int>>), DummyFunc<int, IObservable<int>>.Instance, DummyFunc<int, IObservable<int>, int>.Instance));
ReactiveAssert.Throws<ArgumentNullException>(() => Observable.GroupJoin(DummyObservable<int>.Instance, DummyObservab
package rx.internal;
import java.util.Deque;
import java.util.concurrent.*;
import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.infra.Control;
import rx.internal.util.ArrayBasedLockFreeStack;
Benchmark (count) (loop) Mode Samples Score Score error Units
r.s.CompositeSubscriptionConcurrentPerf.g1 1 1 thrpt 10 3981687,656 274589,435 ops/s
r.s.CompositeSubscriptionConcurrentPerf.g1:addRemoveT1 1 1 thrpt 10 2045599,279 611205,142 ops/s
r.s.CompositeSubscriptionConcurrentPerf.g1:addRemoveT2 1 1 thrpt 10 1936088,377 500330,966 ops/s
r.s.CompositeSubscriptionConcurrentPerf.g1 1 1000 thrpt 10 4947,723 186,710 ops/s
r.s.CompositeSubscriptionConcurrentPerf.g1:addRemoveT1 1 1000 thrpt 10 2381,788 291,468 ops/s
r.s.CompositeSubscriptionConcurrentPerf.g1:addRemoveT2 1 1000 thrpt 10 2565,935 188,117 ops/s
r.s.CompositeSubscriptionConcurrentPerf.g1 1 100000 thrpt 10 48,234 1,157 ops/s
-- 1.x --
Benchmark (size) Mode Samples Score Score error Units
r.s.ComputationSchedulerPerf.observeOn 1 thrpt 5 181353,987 45181,671 ops/s
r.s.ComputationSchedulerPerf.observeOn 10 thrpt 5 168981,589 21477,707 ops/s
r.s.ComputationSchedulerPerf.observeOn 100 thrpt 5 29722,079 2638,061 ops/s
r.s.ComputationSchedulerPerf.observeOn 1000 thrpt 5 6990,191 2540,577 ops/s
r.s.ComputationSchedulerPerf.observeOn 2000 thrpt 5 3882,770 1721,311 ops/s
r.s.ComputationSchedulerPerf.observeOn 3000 thrpt 5 2416,756 1984,065 ops/s
r.s.ComputationSchedulerPerf.observeOn 4000 thrpt 5 1952,835 890,895 ops/s
r.s.ComputationSchedulerPerf.observeOn 10000 thrpt 5 880,152 418,095 ops/s
atomicIntCASCheckFailure 1000000 372,517 13,007
atomicIntCASCheckSuccess 1000000 86,288 2,916
atomicIntCASFailure 1000000 145,753 2,686
atomicIntCASSuccess 1000000 138,676 2,785
atomicIntFieldCASFailure 1000000 124,550 1,325
atomicIntFieldCASSuccess 1000000 119,063 1,178
atomicIntFieldGetAndIncrement 1000000 130,576 4,031
atomicIntFieldIncrementAndGet 1000000 121,219 17,265
atomicIntFieldLazySet 1000000 291,625 5,435
atomicIntGetAndIncrement 1000000 154,072 3,733
r.i.AtomicPerf.atomicIntCASCheckFailure 1000000 691,645 28,174
r.i.AtomicPerf.atomicIntCASCheckSuccess 1000000 114,410 3,540
r.i.AtomicPerf.atomicIntCASFailure 1000000 190,065 20,903
r.i.AtomicPerf.atomicIntCASSuccess 1000000 140,607 11,611
r.i.AtomicPerf.atomicIntFieldCASFailure 1000000 138,794 8,404
r.i.AtomicPerf.atomicIntFieldCASSuccess 1000000 140,099 6,383
r.i.AtomicPerf.atomicIntFieldGetAndIncrement 1000000 139,517 6,104
r.i.AtomicPerf.atomicIntFieldIncrementAndGet 1000000 137,063 10,310
r.i.AtomicPerf.atomicIntFieldLazySet 1000000 455,459 26,511
r.i.AtomicPerf.atomicIntGetAndIncrement 1000000 191,009 10,481