-
Notifications
You must be signed in to change notification settings - Fork 666
Basic StreamExt::{flatten_unordered, flat_map_unordered} impls
#2083
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
c91d08b to
090d95d
Compare
4b94925 to
dae2bb9
Compare
…at_map_unoredered`
… of creating new
0b40d25 to
bd9a86c
Compare
StreamExt::flat_map_unordered implStreamExt::{flatten_unordered, flat_map_unordered} impls
5ba808d to
6adcfee
Compare
2ca3e96 to
f2ddcfd
Compare
e402c5f to
1324ea9
Compare
fe55019 to
952ccf7
Compare
taiki-e
reviewed
Jan 11, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
bf4a826 to
12bee98
Compare
taiki-e
reviewed
Jan 22, 2022
d632a0f to
4091d66
Compare
6096ba6 to
330d93d
Compare
f55cdcd to
c6a9357
Compare
c6a9357 to
69f60cc
Compare
d600a6a to
a50c9e4
Compare
taiki-e
approved these changes
Feb 6, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
taiki-e
pushed a commit
that referenced
this pull request
Feb 6, 2022
Merged
taiki-e
pushed a commit
that referenced
this pull request
Feb 6, 2022
|
Published in 0.3.20. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #1781
Closes #2378
Basic implementations of
flatten_unorderedandflat_map_unorderedusingFuturesUnorderedin combination with custom poll state and wakers under the hood. I didn't measure performance but I think it's fast enough. It differs fromflattenandflat_mapbecause it polls stream and inner streams concurrently.Edited: I added benchmarks, which can be compared with
futures_unordered.flatten_unorderedwith a stream of 10000 oneshots each of which produces an inner stream with one item taking approx about x1.5 time of the originalfutures_unorderedbenchmark with 10000 oneshots.New update: after changing the logic to make a stream being polled in a loop instead of once per
poll_next,flatten_unorderedtakes about 1 - 1.1x time of the originalfutures_unorderedbenchmark.