-
Notifications
You must be signed in to change notification settings - Fork 13.4k
Use a faster early exit during region expansion #57697
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
Conversation
Turns out that the equality check for regions is rather expensive, and the current early exit check works in such a way, that the comparison is even done twice. As we only really care about the case of equal scopes, we can perform a faster, more specialized check and move it up one level, so we can eventually skip the additional full comparison as well.
r? @eddyb (rust_highfive has picked a reviewer for you, use r? to override) |
@bors try |
Use a faster early exit during region expansion Turns out that the equality check for regions is rather expensive, and the current early exit check works in such a way, that the comparison is even done twice. As we only really care about the case of equal scopes, we can perform a faster, more specialized check and move it up one level, so we can eventually skip the additional full comparison as well.
☀️ Test successful - checks-travis |
@rust-timer build 2b619f5 |
Success: Queued 2b619f5 with parent daa53a5, comparison URL. |
Finished benchmarking try commit 2b619f5 |
@bors r+ |
@nagisa your r+ is probably missed. |
@bors r=nagisa |
📌 Commit f0d3df3 has been approved by |
Use a faster early exit during region expansion Turns out that the equality check for regions is rather expensive, and the current early exit check works in such a way, that the comparison is even done twice. As we only really care about the case of equal scopes, we can perform a faster, more specialized check and move it up one level, so we can eventually skip the additional full comparison as well.
☀️ Test successful - checks-travis, status-appveyor |
Turns out that the equality check for regions is rather expensive, and
the current early exit check works in such a way, that the comparison is
even done twice. As we only really care about the case of equal scopes,
we can perform a faster, more specialized check and move it up one
level, so we can eventually skip the additional full comparison as well.