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
MaybeDoneonJoinfor 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