These are chat archives for ReactiveX/RxJava

6th
Jan 2018
Mark Galea
@cloudmark
Jan 06 2018 00:31
This message was deleted
This message was deleted

Ah gotcha! So the main queue is only responsible for scalars from the following line:

if (t instanceof ScalarSynchronousObservable) {
                tryEmit(((ScalarSynchronousObservable<? extends T>)t).get());
}

Each inner will have its own queue and not use the main. @akarnokd ?

Mark Galea
@cloudmark
Jan 06 2018 00:37
Why are scalars prioritised over inners in the emitLoop? From the code it seems that the main queue is dequeued first.
David Karnok
@akarnokd
Jan 06 2018 10:33
Yes. There are users who flatMap onto just() and empty() regularly and this shortcut helped their performance greatly.