-
Notifications
You must be signed in to change notification settings - Fork 13.4k
cstore: Use IndexSet as backing store for postorder dependencies #141730
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
cstore: Use IndexSet as backing store for postorder dependencies #141730
Conversation
This comment has been minimized.
This comment has been minimized.
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
<rustc_metadata::creader::CStore>::push_dependencies_in_postorder showed up in new benchmarks from rust-lang/rustc-perf#2143, hence I gave it a shot to remove an obvious O(n) there.
7aa4bfc
to
9b3be25
Compare
…exset, r= cstore: Use IndexSet as backing store for postorder dependencies <rustc_metadata::creader::CStore>::push_dependencies_in_postorder showed up in new benchmarks from rust-lang/rustc-perf#2143, hence I gave it a shot to remove an obvious O(n) there. r? nnethercote
Bors got confused as the try build was started just a as a commit was pushed here. I'll cancel the workflow. |
💔 Test failed - checks-actions |
@bors try |
…exset, r=<try> cstore: Use IndexSet as backing store for postorder dependencies <rustc_metadata::creader::CStore>::push_dependencies_in_postorder showed up in new benchmarks from rust-lang/rustc-perf#2143, hence I gave it a shot to remove an obvious O(n) there. r? nnethercote
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (a8791be): 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.9%, secondary -2.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.
CyclesResults (secondary -1.0%)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: 777.423s -> 777.791s (0.05%) |
Significant improvements for large-workspace as expected and almost no effect on all other benchmarks. Interestingly this also improves max-rss a bit across the board. |
This comment has been minimized.
This comment has been minimized.
b041d17
to
5e61f5e
Compare
I don't understand that, and I'm very suspicious. An Anyway, the icount results look great. Nice work! @bors r+ |
This PR also changed the call in query system from |
Seems unlikely. I did a local before/after profile with DHAT on helloworld (one of the most-affected benchmarks) and didn't see any difference between the profiles. |
☀️ Test successful - checks-actions |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 13a4540 (parent) -> ba55b7c (this PR) Test differencesNo test diffs found Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard ba55b7ce3cd931af7123e334647584f6fbdb3c20 --output-dir test-dashboard And then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
Finished benchmarking commit (ba55b7c): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression 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 (secondary -0.1%)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 (primary -1.6%, 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.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 775.153s -> 774.617s (-0.07%) |
<rustc_metadata::creader::CStore>::push_dependencies_in_postorder
showed up in new benchmarks from rust-lang/rustc-perf#2143, hence I gave it a shot to remove an obvious O(n) there.r? nnethercote