-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
Avoid calling unroll_place()
in a common case.
#53733
Conversation
This reduces the execution time for `ucd-check` by 25%.
Borrows that start from 2 separate locals can never overlap (and of course legal programs can never have borrow overlap). Why isn't it possible to perform binning by place (by changing |
Hmm. For the case of ucd-check in particular, I was hoping to just eliminate the borrows (that's what was proposed in #53643) and -- more generally -- to eventually refactor to a hashing-like scheme (as described in #53328 and #53643). But, this is a super simple fix of course that seems worth landing regardless. I wouldn't mind putting off particularly the latter two refactorings if we can, as I might rather just try to do it as part of a move to a polonius based system. (Which will still want to solve similar problems, of course) |
Also true: this was also a motivator for the refactoring happening in #53247 -- it would allow us to do this check for a broader range of places (since we can access the base place in O(1) time) |
@bors r+ Anyway, as I said, seems worth landing this quick hack for now, why not? |
📌 Commit 130e556 has been approved by |
…ikomatsakis Avoid calling `unroll_place()` in a common case. This reduces the execution time for `ucd-check` by 25%. r? @nikomatsakis
⌛ Testing commit 130e556 with merge 7d3290569e7294d83aa42f71f3b71c2f604c131b... |
💔 Test failed - status-travis |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@bors retry |
⌛ Testing commit 130e556 with merge c096519b33b4472660e6d3f68c1998a894ab5b80... |
💔 Test failed - status-travis |
The job Click to expand the log.
I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
@bors retry |
Avoid calling `unroll_place()` in a common case. This reduces the execution time for `ucd-check` by 25%. r? @nikomatsakis
☀️ Test successful - status-appveyor, status-travis |
This reduces the execution time for
ucd-check
by 25%.r? @nikomatsakis