Uh oh!
There was an error while loading. Please reload this page.
incr.comp.: Deduplicate some DepNodes and introduce anonymous DepNodes - #43028
Conversation
2de78df to
4ad0609Compare| } | ||
| } | ||
| impl_stable_hash_for!(enum ty::fast_reject::SimplifiedType { |
There was a problem hiding this comment.
Why SimplifiedType? Seems ok though
There was a problem hiding this comment.
Because it's used in the query key of relevant_trait_impls.
nikomatsakis
commented
Jul 7, 2017
@bors r+ |
bors
commented
Jul 7, 2017
📌 Commit 4ad0609 has been approved by |
bors
commented
Jul 8, 2017
🔒 Merge conflict |
4ad0609 to
6d049fbComparemichaelwoerister
commented
Jul 10, 2017
I pushed 3 more commits to this branch. They introduce anonymous |
| fn new(v: usize) -> IdIndex { | ||
| impl DepNodeIndex { | ||
| pub const INVALID: DepNodeIndex = DepNodeIndex { index: ::std::u32::MAX }; |
There was a problem hiding this comment.
Nit: this is fine for now, but it'd be nicer to use Nonzero so that we can (efficiently) use Option<DepNodeIndex>, I suspect.
nikomatsakis
commented
Jul 10, 2017
So travis is failing because the log is too big. The log seems to include some DEBUG output, which is weird? |
nikomatsakis
commented
Jul 10, 2017
That said, the test that is failing probably enables the log, so i think the real problem is the test is failing for some reason: |
kennytm
commented
Jul 10, 2017
@nikomatsakis The logs are part of the test's stderr. // rustc-env:RUST_LOG=debugfnmain(){} |
nikomatsakis
commented
Jul 10, 2017
@kennytm right, this is why I said I suspect the real problem is that the test fails in the first place. |
kennytm
commented
Jul 10, 2017
Tried locally but not reproducible. Spurious I guess. Compiler-test should probably filter the output so only the top and bottom 16 KB of text are printed out. |
nikomatsakis
commented
Jul 10, 2017
Huh. Can we test that hypothesis? I guess we can r+... maybe if we cycle travis? |
@nikomatsakis r+ is one way. Owners of this repo could also go to Travis and restart the job, without accepting the PR. Closing the PR and reopening it would also trigger a build. |
nikomatsakis
commented
Jul 10, 2017
@kennytm I am able to reproduce locally |
nikomatsakis
commented
Jul 10, 2017
@bors r+ |
bors
commented
Jul 10, 2017
📌 Commit 4f1f671 has been approved by |
michaelwoerister
commented
Jul 10, 2017
Thanks for fixing! |
bors
commented
Jul 10, 2017
incr.comp.: Deduplicate some DepNodes and introduce anonymous DepNodes This is a parallel PR to the pending #42769. It implements most of what is possible in terms of DepNode re-opening without having anonymous DepNodes yet (#42298). r? @nikomatsakis
bors
commented
Jul 11, 2017
☀️ Test successful - status-appveyor, status-travis |
Mark-Simulacrum
commented
Jul 11, 2017
This produced a 20 second reduction in the regex expand benchmark: https://perf.rust-lang.org/graphs.html?start=2017-07-07T00%3A00%3A00%2B00%3A00&end=2017-07-12T00%3A00%3A00%2B00%3A00&crates=%7B%22list%22%3A%22List%22%2C%22content%22%3A%5B%22regex-0.1.80%40050-expand%22%5D%7D&phases=%7B%22list%22%3A%22All%22%2C%22content%22%3Anull%7D&group_by=crate&type=time, as well as saving 57 MB of memory. |
michaelwoerister
commented
Jul 12, 2017
@Mark-Simulacrum, nice! Thanks for making me aware of that. Overall I expected this patch to make things 10% slower, but I seem to have tested only the worst case. Or difference gets more pronounced when turning off debug assertions (which I mostly do for performance testing). |
alexcrichton
commented
Jul 20, 2017
It looks like this may have regressed another benchmark though :( Was that expected though? |
michaelwoerister
commented
Jul 21, 2017
Yes, that was expected. I'm surprised it doesn't show up in other benchmarks more. This should get better again when the current (humongous) refactoring is done. |

This is a parallel PR to the pending #42769. It implements most of what is possible in terms of DepNode re-opening without having anonymous DepNodes yet (#42298).
r? @nikomatsakis