-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Ensure constants are WF before calling into CTFE #137972
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
base: master
Are you sure you want to change the base?
Conversation
@bors try @rust-timer queue (even if perf is bad we should still land something like this, i just want to know if we should look into a fast-path for consts with no predicates or something) |
This comment has been minimized.
This comment has been minimized.
…try> Ensure constants are WF before calling into CTFE Fixes rust-lang#127643 Fixes rust-lang#131046 Fixes rust-lang#131406 Fixes rust-lang#133066 I'll write a PR desc for this tommorow r? `@ghost`
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
I don't think this actually takes any effect on stable so i dont think a perf run will show anything ^^' and there's already a fast path for no preds so would have to remove that before a perf run to get actual info |
Finished benchmarking commit (4cbf2ca): comparison URL. Overall result: ❌ regressions - no action neededBenchmarking 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 may lead to changes in compiler perf. @bors rollup=never Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (primary 3.0%, secondary 1.4%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 773.808s -> 773.59s (-0.03%) |
noise @bors rollup=maybe |
actually, ctfe stress test lol maybe not noise 🤔 |
idk what could have caused it lol, the only stable affecting change here should be that we check an extra feature gate or two.. which seems ridiculous for it to cause a 0.5% perf regression lol |
f770b29
to
d2152f4
Compare
@bors try @rust-timer queue redoing perf but without the fast-path and also not skipped for repeat-exprs |
This comment has been minimized.
This comment has been minimized.
…try> Ensure constants are WF before calling into CTFE Fixes rust-lang#127643 Fixes rust-lang#131046 Fixes rust-lang#131406 Fixes rust-lang#133066 I'll write a PR desc for this tommorow r? `@ghost`
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (efc52dd): comparison URL. Overall result: ✅ improvements - no action neededBenchmarking 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 may lead to changes in compiler perf. @bors rollup=never Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (primary -1.6%, secondary -1.7%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (secondary -3.6%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: missing data |
ok I think it was just entirely spurrious regression the previous perf run, and also we in general do not need a fast path for empty preds |
d2152f4
to
32aff32
Compare
32aff32
to
5f88c8c
Compare
🎉 Experiment
|
(2 real regressions, both in code using |
☔ The latest upstream changes (presumably #139257) made this pull request unmergeable. Please resolve the merge conflicts. |
ah right i need to finish this PR off.. |
c15f5a9
to
93e48fd
Compare
This comment has been minimized.
This comment has been minimized.
335a964
to
ffdfbca
Compare
// FIXME(BoxyUwU) FIXME(min_generic_const_args): I could not figure out how to write a test for this | ||
// as we don't currently support constants in the type system with impossible predicates. It may become | ||
// possible once `min_generic_const_args` has progressed more. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe this is possible with GCE? I don't really want to write a load bearing GCE test lol
This comment has been minimized.
This comment has been minimized.
ffdfbca
to
a5ed0a7
Compare
a5ed0a7
to
d5a2707
Compare
This comment has been minimized.
This comment has been minimized.
962bddf
to
376ff5d
Compare
I think mgca is just going to accidentally fix this once type system norm is implemented as we'll wind up with fully concrete anon consts to norm to and evaluate 🤔 |
I changed my mind... |
meow |
Fixes #127643
Fixes #131046
Fixes #131406
Fixes #133066
Fixes #137813
Fixes #136894
Fixes #135617
I'll write a PR desc for this tommorow
r? @ghost