-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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 'speculative evaluation' of predicates #92041
Remove 'speculative evaluation' of predicates #92041
Conversation
r? @davidtwco (rust-highfive has picked a reviewer for you, use r? to override) |
@bors try @rust-timer queue |
Awaiting bors try build completion. @rustbot label: +S-waiting-on-perf |
⌛ Trying commit 9f4099f29717f0db050fda4d36feef47a06c2b43 with merge d2e7c7d2c1bbc2cb90db373e42dba2653351604a... |
☀️ Try build successful - checks-actions |
Queued d2e7c7d2c1bbc2cb90db373e42dba2653351604a with parent 2595d03, future comparison URL. |
Note that due to merging rust-lang/rustc-perf#1123, these runs may look quite bad -- once we get another master commit landed + benchmarked, re-running perf should make any noise there go away. It shouldn't affect non-incremental results, though, of course. (Leaving this comment on all pending perf run PRs). |
Finished benchmarking commit (d2e7c7d2c1bbc2cb90db373e42dba2653351604a): comparison url. Summary: This change led to very large relevant mixed results 🤷 in compiler performance.
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR led to changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @bors rollup=never |
Ignoring the spurious incremental runs, this only causes a few perf regressions (up to 4.53% on |
Agreed @bors r+ |
📌 Commit 9f4099f29717f0db050fda4d36feef47a06c2b43 has been approved by |
Performing 'speculative evaluation' introduces caching bugs that cannot be fixed without invasive changes to projection. Hopefully, we can win back most of the performance lost by re-adding 'cache completion' Fixes rust-lang#90662
9f4099f
to
eee09ec
Compare
Added regression test for the underlying issue. @bors r=jackh726 |
📌 Commit eee09ec has been approved by |
https://rust-lang.zulipchat.com/#narrow/stream/233931-t-compiler.2Fmajor-changes/topic/Make.20.60TypeFolder.3A.3Afold_*.60.20return.20.60Result.60.20compiler-team.23432/near/239243869 mentions that overflow errors need to be treated differently because of speculative evaluation - can it be combined with other errors now that speculative evaluation is being removed? |
This is only one small instance of speculative evaluation. |
⌛ Testing commit eee09ec with merge e33258f4a0a3c76852849b8fd3911f60a1dbc762... |
The job Click to see the possible cause of the failure (guessed by this bot)
|
💔 Test failed - checks-actions |
⌛ Testing commit eee09ec with merge 24a170b831fafa261234eb6624b0fbba02429b11... |
💥 Test timed out |
@bors retry x86_64-apple timeout |
⌛ Testing commit eee09ec with merge 110d3ea03635a465aca938e161bd0aba00923a54... |
💔 Test failed - checks-actions |
@bors retry |
☀️ Test successful - checks-actions |
Finished benchmarking commit (60f3bd7): comparison url. Summary: This change led to very large relevant mixed results 🤷 in compiler performance.
If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf. Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression |
Performing 'speculative evaluation' introduces caching bugs that
cannot be fixed without invasive changes to projection.
Hopefully, we can win back most of the performance lost by
re-adding 'cache completion'
Fixes #90662