Skip to content
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

Even more `ObligationForest` improvements #64627

Merged
merged 7 commits into from Sep 25, 2019

Conversation

@nnethercote
Copy link
Contributor

commented Sep 20, 2019

Following on from #64545, more speed and readability improvements.

r? @nikomatsakis

nnethercote added 7 commits Sep 19, 2019
Optimizing for the common numbers of entries in `stalled_on` wins about
4% on `keccak` and `inflate`.
This is a big speed win for `keccak` and `inflate`.
We normally use `index` for indices to `ObligationForest::nodes`, but
this is a `Nodes::dependents` index.
The name `waiting_cache` sounds like it is related to the states
`NodeState::Waiting`, but it's not; the cache holds nodes of various
states.

This commit changes it to `active_state`.
Because the meaning of this `index` variable is quite different to all
the other `index` variables in this file.
@nnethercote

This comment has been minimized.

Copy link
Contributor Author

commented Sep 20, 2019

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

Copy link

commented Sep 20, 2019

Awaiting bors try build completion

@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 20, 2019

⌛️ Trying commit aa10abb with merge 281fcd7...

bors added a commit that referenced this pull request Sep 20, 2019
Even more `ObligationForest` improvements

Following on from #64545, more speed and readability improvements.

r? @nikomatsakis
@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 20, 2019

💥 Test timed out

@nnethercote

This comment has been minimized.

Copy link
Contributor Author

commented Sep 20, 2019

Not sure what happened there. Let's try it the old-fashioned way:
@bors try

@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 20, 2019

⌛️ Trying commit aa10abb with merge 85a4a15...

bors added a commit that referenced this pull request Sep 20, 2019
Even more `ObligationForest` improvements

Following on from #64545, more speed and readability improvements.

r? @nikomatsakis
@nnethercote

This comment has been minimized.

Copy link
Contributor Author

commented Sep 20, 2019

Some local measurements:

inflate-check
        avg: -10.3%     min: -14.3%     max: 0.1%
keccak-check
        avg: -7.8%      min: -12.0%     max: 0.0%
cranelift-codegen-check
        avg: -1.2%      min: -2.0%      max: 0.0%
clap-rs-check
        avg: -0.6%      min: -1.6%      max: -0.0%
serde-check
        avg: -0.5%      min: -0.8%      max: 0.1%
unify-linearly-check
        avg: -0.3%      min: -0.7%      max: 0.0% 
deeply-nested-check
        avg: -0.4%      min: -0.6%      max: 0.0% 
style-servo-check
        avg: -0.4%      min: -0.6%      max: 0.0%
wg-grammar-check
        avg: -0.3%      min: -0.5%      max: -0.0%
cargo-check
        avg: -0.2%      min: -0.3%      max: 0.0%
syn-check
        avg: -0.1%      min: -0.3%      max: 0.0% 
@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 20, 2019

☀️ Try build successful - checks-azure
Build commit: 85a4a15

@rust-timer

This comment has been minimized.

Copy link

commented Sep 20, 2019

Queued 85a4a15 with parent ea3ba36, future comparison URL.

@rust-timer

This comment has been minimized.

Copy link

commented Sep 20, 2019

Finished benchmarking try commit 85a4a15, comparison URL.

@bjorn3

This comment has been minimized.

Copy link
Contributor

commented Sep 22, 2019

@nnethercote Do you every take a day off of optimizing rustc? 😄

src/librustc/traits/fulfill.rs Show resolved Hide resolved
@nikomatsakis

This comment has been minimized.

Copy link
Contributor

commented Sep 23, 2019

@bors r+

@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 23, 2019

📌 Commit aa10abb has been approved by nikomatsakis

@nnethercote

This comment has been minimized.

Copy link
Contributor Author

commented Sep 23, 2019

@bors rollup=never

@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 25, 2019

⌛️ Testing commit aa10abb with merge c7bc0bf...

bors added a commit that referenced this pull request Sep 25, 2019
Even more `ObligationForest` improvements

Following on from #64545, more speed and readability improvements.

r? @nikomatsakis
@bors

This comment has been minimized.

Copy link
Contributor

commented Sep 25, 2019

☀️ Test successful - checks-azure
Approved by: nikomatsakis
Pushing c7bc0bf to master...

@bors bors added the merged-by-bors label Sep 25, 2019
@bors bors merged commit aa10abb into rust-lang:master Sep 25, 2019
5 checks passed
5 checks passed
homu Test successful
Details
pr Build #20190920.7 succeeded
Details
pr (Linux mingw-check) Linux mingw-check succeeded
Details
pr (Linux x86_64-gnu-llvm-6.0) Linux x86_64-gnu-llvm-6.0 succeeded
Details
pr (LinuxTools) LinuxTools succeeded
Details
@nnethercote nnethercote deleted the nnethercote:ObligForest-even-more branch Sep 25, 2019
tmandry added a commit to tmandry/rust that referenced this pull request Oct 2, 2019
… r=nikomatsakis

Still more `ObligationForest` improvements.

Following on from rust-lang#64627, more readability improvements, but negligible effects on speed.

r? @nikomatsakis
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants
You can’t perform that action at this time.