-
Notifications
You must be signed in to change notification settings - Fork 33
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
Remove MaybeDone
from tuple::join
#103
Remove MaybeDone
from tuple::join
#103
Conversation
072998c
to
1d6b20f
Compare
oh, yes, this also makes the implementation of |
MaybeDone
from tuple::joinMaybeDone
from tuple::join and make it fair
I don't understand the perf result, isn't |
ohnoooo, I'm stupid, I read the result backwards again |
Oof, yeah that's a pretty big slowdown. To be honest: the rng stuff probably shouldn't be included since all futures only poll once - and then have to wait for each other anyway. While this uses the rng things, I think it's already fair without it. Given that #104 has shown meaningful speedups for non-allocating futures by removing the rng - perhaps things would be as fast as they are now if you just went back to a |
1d6b20f
to
03c26b2
Compare
I finally got some positive results! I implemented and tested many variations today, and some were 4.5x slower than The biggest improvements came from stopping using Here're the results:
edit:
|
MaybeDone
from tuple::join and make it fairMaybeDone
from tuple::join
@matheus-consoli We probably should keep using the At work we've seen cases where calls to |
Updated to use
|
Ref #22
Remove the need for
MaybeDone
onJoin
for tuples.This is a spiritual successor of #74, thank you @yoshuawuyts and @poliorcetics for your reviews and ideas!
The perf results are really nice now:
edit: removes reference to #21, as we're no longing implementing "perfect" waking