-
Notifications
You must be signed in to change notification settings - Fork 633
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
olegnn
force-pushed
the
stream_flat_map_unordered
branch
from
February 17, 2020 14:45
c91d08b
to
090d95d
Compare
olegnn
force-pushed
the
stream_flat_map_unordered
branch
from
February 17, 2020 16:29
4b94925
to
dae2bb9
Compare
…at_map_unoredered`
… of creating new
olegnn
force-pushed
the
stream_flat_map_unordered
branch
from
February 18, 2020 17:32
0b40d25
to
bd9a86c
Compare
olegnn
changed the title
Basic
Basic May 17, 2020
StreamExt::flat_map_unordered
implStreamExt::{flatten_unordered, flat_map_unordered}
impls
olegnn
force-pushed
the
stream_flat_map_unordered
branch
2 times, most recently
from
May 17, 2020 13:10
5ba808d
to
6adcfee
Compare
olegnn
force-pushed
the
stream_flat_map_unordered
branch
2 times, most recently
from
May 28, 2020 16:33
2ca3e96
to
f2ddcfd
Compare
olegnn
force-pushed
the
stream_flat_map_unordered
branch
8 times, most recently
from
June 12, 2020 14:16
e402c5f
to
1324ea9
Compare
olegnn
force-pushed
the
stream_flat_map_unordered
branch
3 times, most recently
from
January 9, 2022 22:13
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!
olegnn
force-pushed
the
stream_flat_map_unordered
branch
from
January 18, 2022 19:59
bf4a826
to
12bee98
Compare
taiki-e
reviewed
Jan 22, 2022
olegnn
force-pushed
the
stream_flat_map_unordered
branch
from
January 23, 2022 12:29
d632a0f
to
4091d66
Compare
olegnn
force-pushed
the
stream_flat_map_unordered
branch
2 times, most recently
from
January 26, 2022 13:55
6096ba6
to
330d93d
Compare
olegnn
force-pushed
the
stream_flat_map_unordered
branch
3 times, most recently
from
January 26, 2022 22:47
f55cdcd
to
c6a9357
Compare
olegnn
force-pushed
the
stream_flat_map_unordered
branch
from
January 26, 2022 22:52
c6a9357
to
69f60cc
Compare
olegnn
force-pushed
the
stream_flat_map_unordered
branch
from
January 27, 2022 12:40
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
added
the
0.3-backport: pending
The maintainer accepted to backport this to the 0.3 branch, but backport has not been done yet.
label
Feb 6, 2022
taiki-e
pushed a commit
that referenced
this pull request
Feb 6, 2022
Merged
taiki-e
added
0.3-backport: completed
and removed
0.3-backport: pending
The maintainer accepted to backport this to the 0.3 branch, but backport has not been done yet.
labels
Feb 6, 2022
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.