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

fromIteratorBuffered #1307

Merged
merged 5 commits into from Nov 6, 2020
Merged

Conversation

Avasil
Copy link
Collaborator

@Avasil Avasil commented Nov 6, 2020

Fixes #1275

I've run a simple benchmark against fromIterator + bufferSliding and there seems to be a decent gain (around 35%, perhaps more than 3.2.2 because we fixed perf regression on Scala 2.13) but I'm not sure if it is enough to make a difference for your use case @deusaquilus

If it's not, I'm happy to try and help to solve the issue

[info] Benchmark                                               (chunkCount)  (chunkSize)   Mode  Cnt    Score   Error  Units
[info] ObservableIteratorBenchmark.bufferTumbling                      1000         1000  thrpt   40   95.434 ± 0.998  ops/s
[info] ObservableIteratorBenchmark.fromIteratorBufferedUnsafe          1000         1000  thrpt   40  130.350 ± 2.840  ops/s

@Avasil Avasil merged commit a43650a into monix:series/3.x Nov 6, 2020
@deusaquilus
Copy link

@Avasil Actually it might be even more then this number in my use-case because the JDBC ResultSet fetches results in a chunked way itself. That means that by synchronizing Monix Chunks and JDBC chunks, we might be freeing a whole lot of IO cycles downstream. Will let you know how it turns out.

Btw what release can I hope to see this in?

@Avasil
Copy link
Collaborator Author

Avasil commented Nov 8, 2020

@deusaquilus It's already released in 3.3.0 :) Will be waiting for your report

@Avasil Avasil deleted the fromIteratorChunkedUnsafe branch November 14, 2020 15:48
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

Successfully merging this pull request may close these issues.

Add Observable.fromIteratorChunkedUnsafe
2 participants