-
Notifications
You must be signed in to change notification settings - Fork 639
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
Basic StreamExt::{flatten_unordered, flat_map_unordered}
impls
#2083
Merged
Conversation
This file contains 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_unordered
andflat_map_unordered
usingFuturesUnordered
in combination with custom poll state and wakers under the hood. I didn't measure performance but I think it's fast enough. It differs fromflatten
andflat_map
because it polls stream and inner streams concurrently.Edited: I added benchmarks, which can be compared with
futures_unordered
.flatten_unordered
with a stream of 10000 oneshots each of which produces an inner stream with one item taking approx about x1.5 time of the originalfutures_unordered
benchmark 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_unordered
takes about 1 - 1.1x time of the originalfutures_unordered
benchmark.