-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Re-land "add IntoFuture trait and support for await" #67982
Comments
Sorry for my lack of rustc internal knowledge, is there any hint or guess at why it was slower? |
I don't think anyone knows for sure at this point. #67706 mentions cc @rust-lang/wg-traits |
In the @rust-lang/wg-async-await meeting we agreed that this was a nice to have, but would be good to get it over the finish line. Tagging this as OnDeck, because we'd like to look into it while people still remember the implementation details. |
The same query regressed by 10% in #68524, also without being invoked more often. |
#68606 alleges to unblock this issue, would anyone like to benchmark an un-reversion to see whether or not that's true? |
I made further perf improvements in #68672, so we can also wait until that lands. |
Re-land "add IntoFuture trait and support for await" Testing the code from #65244 to see if the performance regressions are still there. #68606 and #68672 made perf optimizations that might interact with this change. If this lands, fixes #67982. cc @seanmonstar @jonas-schievink r? @cramertj
The linked PR has been merged and it looks like the async/await benchmark received quite a nice boost. Is it blocked on #68864 to make progress? |
I don't think it would be blocked on #68864, but maybe I'm missing something. Seems like we should re-open the PR and then maybe do some perf comparisons. |
It has been reopened as #68811. According to perf there's still a compile time regression of up to ~6% present. |
@rustbot assign @yoshuawuyts Who was interested in getting at least the (unstable) trait merged. It'd be nice to do another perf run with the async/await integration, also. |
#68811 (comment) seems to be the latest "what needs to be done next". |
This is a reintroduction of the remaining parts from rust-lang#65244 that have not been relanded yet. Issues rust-langGH-67644, rust-langGH-67982
this seems to have stalled. that's a real shame, because I have a few crates where this would massively help with ergonomics |
@danieleades Same here. |
There's work ongoing in #90737 to resolve this. Thanks @eholk and @yoshuawuyts! 🎉 |
Reintroduce `into_future` in `.await` desugaring This is a reintroduction of the remaining parts from rust-lang#65244 that have not been relanded yet. This isn't quite ready to merge yet. The last attempt was reverting due to performance regressions, so we need to make sure this does not introduce those issues again. Issues rust-lang#67644, rust-lang#67982 /cc `@yoshuawuyts`
#90737 has been merged now. Should this issue be closed? |
AFAICT the feature hasn't been stabilized yet, so I think the tracking issue should stay open. |
Sounds good to me! |
In Microsoft's |
@Type1J Do you have a link to the I've recently started helping out on the |
My mistake. It seems to be a blanket implementation. https://microsoft.github.io/windows-docs-rs/doc/windows/Foundation/struct.IAsyncOperation.html |
This caused significant regressions (i.e. 25% or more) in stack frame size in debug builds of my application. Was that expected? |
@khuey Fuchsia also saw significant regressions in stack frame size on debug builds; see #67644 (comment). If you have any examples that are easy to reproduce, it would be much appreciated if you filed an issue. (Unfortunately, code in the Fuchsia tree is not easily built by outsiders.) |
I could extract MIR or something but the code in question is not open source. |
It's weird that we're only seeing these regressions on debug builds. I wouldn't expect the code around this to change between debug and release. |
Presumably the optimizer is doing its job on release builds. |
#65244 was reverted in #67768 for performance reasons (see #67706). This issue tracks re-landing the support in a more performant way.
Tracking issue for
IntoFuture
trait: #67644cc @seanmonstar @wesleywiser
The text was updated successfully, but these errors were encountered: