I notice that calling observable.concat(Observable.empty()) invokes back-pressure. I'd find it useful if when I used Observable.empty() that optimisations came into play such as ensuring that observable.concat(Observable.empty()) simply returned observable.
To achieve this I'd make a private constant EMPTY = from(new ArrayList()) in Observable so that calling Observable.empty() always returned this object cast into the appropriate generic type. Then I'd use a simple object reference equality test to determine if an optimisation could be made.
Do you think this proposal has legs? If so, I'll knock up a PR. I would seek to optimise more than just the concat operator , it would include merge and possibly others which I can think about if the time comes.
I notice that calling
observable.concat(Observable.empty())invokes back-pressure. I'd find it useful if when I usedObservable.empty()that optimisations came into play such as ensuring thatobservable.concat(Observable.empty())simply returnedobservable.To achieve this I'd make a private constant
EMPTY = from(new ArrayList())inObservableso that callingObservable.empty()always returned this object cast into the appropriate generic type. Then I'd use a simple object reference equality test to determine if an optimisation could be made.Do you think this proposal has legs? If so, I'll knock up a PR. I would seek to optimise more than just the
concatoperator , it would includemergeand possibly others which I can think about if the time comes.