-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Pre-canoncalize ExternLocation::ExactPaths #81419
Conversation
r? @oli-obk (rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
@bors try @rust-timer queue |
Awaiting bors try build completion. |
⌛ Trying commit 49971f3d05440d55b102cb310c5528716f9f5cfe with merge 587b64557d05ed718c8fd6e098d3c9b02dc51e8b... |
☀️ Try build successful - checks-actions |
Queued 587b64557d05ed718c8fd6e098d3c9b02dc51e8b with parent d1aed50, future comparison URL. @rustbot label: +S-waiting-on-perf |
Finished benchmarking try commit (587b64557d05ed718c8fd6e098d3c9b02dc51e8b): comparison url. Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. Please note that if the perf results are neutral, you should likely undo the rollup=never given below by specifying Importantly, though, if the results of this run are non-neutral do not roll this PR up -- it will mask other regressions or improvements in the roll up. @bors rollup=never |
Looks like the perf change is positive albeit minimal. This does have a large effect on compiling the Windows API surface using windows-rs, where it has improved performance considerably (by ~4.5%). |
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.
LGTM, giving @petrochenkov some time to look at this too, since they self-assigned.
This is breaking the logic in So we'll probably have to keep both the originally passed strings and their canonicalized versions. |
Also, with this PR canonicalization performed by |
This comment has been minimized.
This comment has been minimized.
5e7b548
to
2a039e3
Compare
@petrochenkov I've refactored so that both the original and canonicalized forms are kept and can be used. This seems to have additional performance gains - my test repo is now compiling somewhat faster than before. |
@rustbot label -S-waiting-on-author +S-waiting-on-review |
r=me after addressing #81419 (comment) and squashing commits. |
30b9fc9
to
6c7ecd0
Compare
Addressed the issue and rebased. @rustbot label -S-waiting-on-author +S-waiting-on-review |
@bors r+ |
📌 Commit 6c7ecd0 has been approved by |
☀️ Test successful - checks-actions |
This stores pre-canacolized paths inside
ExternLocation::ExactPaths
so that we don't need to canoncalize them every time we want to compare them to source lib paths.This is related to #81414.