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?
to your account
Post-merge perf results are 100% restricted to await-call-tree, and it's more clearly >1% now, post-rust-lang/rustc-perf#645 (cc @Mark-Simulacrum).
Presumably we consider that test a stress test and we're fine with the 1-5% slowdown?
Originally posted by @eddyb in #70831 (comment)
The text was updated successfully, but these errors were encountered:
cc @sfackler, author of #70831
Sorry, something went wrong.
It does seem a bit strange to me that there's a slowdown here - the complexity of the overall code post expansion seems like it should be just about the same as before, right?
IIRC, a poll_with_context call was replaced with two calls, to Future::poll and get_context.
That would presumably double type-checking time in an .await-heavy function.
I'm actually a bit surprised all of the unsafety (i.e. get_context) isn't contained entirely in the HIR lowering, but I suppose there's several casts involved.
Context for wg-prioritization: here's the benchmark. It's sort of a stress test, but not an unrealistic one in that it only goes 7 levels deep (I'm sure we have some call trees that deep, and maybe with a 3x factor, in Fuchsia, but only a few).
Assigning P-medium as discussed as part of the Prioritization Working Group process and removing I-prioritize.
No branches or pull requests