Skip to content
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

Benchmark January 18, 2017 #5

Open
akarnokd opened this issue Jan 18, 2017 · 0 comments
Open

Benchmark January 18, 2017 #5

akarnokd opened this issue Jan 18, 2017 · 0 comments

Comments

@akarnokd
Copy link
Owner

akarnokd commented Jan 18, 2017

Environment

  • i7 4790 stock settings
  • Windows 7 x64
  • Java 8u112
  • library versions: snapshots of their latest major version
  • Green: good
  • Red: not so good
  • Raw data

Async

(Start a stream from the main thread but don't pin the source to it)

versus RxJava 1.x:

image

versus Reactor-Core:

image

Pipeline

(Start a stream from a thread, pin it there and observe on a separate thread)

versus RxJava 1.x:

image

versus Reactor-Core:

image

Blocking

Empty source

versus RxJava 1.x

image

versus Reactor-Core:

image

First element

versus RxJava 1.x:

image

versus Reactor-Core:

image

Last element

versus RxJava 1.x:

image

versus Reactor-Core:

image

Memory consumption

(Having 1 million active sequences, Megabytes used, smaller is better)

versus RxJava 1.x:

image

versus Reactor-Core:

image

Synchronous streaming

range

versus RxJava 1.x:

image

versus Reactor-Core

image

fromArray

versus RxJava 1.x:

image

versus Reactor-Core:

image

fromIterable

versus RxJava 1.x:

image

versus Reactor-Core:

image

concatMap

just

(Concatenate a sequence of values mapped into just())

versus RxJava 1.x:

image

versus Reactor-Core:

image

range

(Concatenate a sequence of values expanded into a range())

versus RxJava 1.x:

image

versus Reactor-Core:

image

cross-range

(Deliver 1 million items split between a main sequence of length N and its mapping to a 1,000,000 / N inner sequence.

versus RxJava 1.x:

image

versus Reactor-Core:

image

flatMap

just

(Merge a sequence of values mapped into just())

versus RxJava 1.x:

image

versus Reactor-Core:

image

range

(Merge a sequence of values expanded into a range())

versus RxJava 1.x:

image

versus Reactor-Core:

image

cross-range

(Deliver 1 million items split between a main sequence of length N and its mapping to a 1,000,000 / N inner sequence.

versus RxJava 1.x:

image

versus Reactor-Core:

image

flatten

(Flatten an mapping to an Iterable inner source)

just

versus RxJava 1.x:

image

versus Reactor-Core:

image

range

versus RxJava 1.x:

image

versus Reactor-Core:

image

cross-range

versus RxJava 1.x:

image

versus Reactor-Core:

image

concatMap vs flatMap

just

image

range

image

cross-range

image

Subject overhead

direct multicast

versus RxJava 1.x:

image

versus Reactor-Core:

image

replay

versus RxJava 1.x:

image

versus Reactor-Core:

image

unicast

versus RxJava 1.x:

image

versus Reactor-Core:

image

async

(Reactor-Core has no AsnycProcessor equivalent)

versus RxJava 1.x:

image

versus Reactor-Core:

image

behavior

(Reactor-Core has no BehaviorProcessor equivalent)

versus RxJava 1.x:

image

versus Reactor-Core:

image

Subscribe

versus RxJava 1.x:

image

versus Reactor-Core:

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant