-
Notifications
You must be signed in to change notification settings - Fork 7.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.x: Performance improvements (tracking issue) #5913
Comments
Hi, I'd like to check why you have a performance problem in this moment |
@ayudovin Sure. |
|
@akarnokd , how do you want to measure it? As you are aware certainly aware, there are different implementations C1, C2 (Hotspot), ART, Graal. Which compilation stage do you want to perform better and which implementation should be the baseline? I would suggest using OpenJDK 11 with C2 Hotspot with default setting tested via JMH. Furthermore, which metric should be improved? Allocation-Rate/ Operations per Second? |
You can try that. Ops/second is the usual measure for us. |
@akarnokd hi, is it actual issue for now? |
Different JVM versions give different results and I don't see any clear optimizations to make them better across. I'll close it for now. |
I assembled a fresh evaluation of RxJava 1, 2 and Reactor 3.2 performance under various usages and found the following deficiencies in RxJava 2.
Flowable.empty()
appears to be consuming a lot of memory.Schedulers.from
could improve async/pipeline performance.Observable.blockingLast
has 30% more overhead than itsFlowable
counterpart.ReplayProcessor
andReplaySubject
compared to v1.UnicastProcessor
andUnicastSubject
compared to v1.Observable.fromArray
is somewhat slower with longer sources thanFlowable
.Observable.fromIterable
is slower with longer sources thanFlowable
.Observable.concatMap
for scalar inner sources.Flowable.flatMapIterable
is drastically slower thanObservable
and Reactor's version in just/range/crossmap scenarios.The text was updated successfully, but these errors were encountered: