A mixed bag of a week. 2 of the 3 regressions are connected to changes to the query system that underlies incremental compilation. The third regression is still being investigated. For all three, the impact on cycle counts that are within our noise tolerance levels There were several small-ish improvements, though PR #104963 is worth calling out: a well-factored change to how we lower the AST into HIR that had a broad positive impact. One final note: the summary-opt max-rss seems to gone up by 1.5% over the past month (perf), via a gradual climb; just something to keep our eyes on going forward.
Triage done by @pnkfelix. Revision range: 8a09420a..9db224fc
Summary:
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.6% | [0.2%, 1.5%] | 52 |
Regressions ❌ (secondary) | 1.2% | [0.2%, 5.6%] | 80 |
Improvements ✅ (primary) | -0.8% | [-1.7%, -0.2%] | 34 |
Improvements ✅ (secondary) | -2.2% | [-4.8%, -0.2%] | 29 |
All ❌✅ (primary) | 0.0% | [-1.7%, 1.5%] | 86 |
3 Regressions, 7 Improvements, 4 Mixed; 3 of them in rollups 50 artifact comparisons made in total
Allow to feed a value in another query's cache #104940 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.3% | [0.2%, 0.4%] | 44 |
Regressions ❌ (secondary) | 0.3% | [0.2%, 0.4%] | 12 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.3% | [0.2%, 0.4%] | 44 |
Reduce macro usage for lints #104863 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.5% | [0.2%, 1.4%] | 116 |
Regressions ❌ (secondary) | 0.9% | [0.1%, 2.3%] | 83 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | 0.5% | [0.2%, 1.4%] | 116 |
check_*
methods.feed resolver_for_lowering instead of storing it in a field #105220 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.2% | [0.2%, 0.3%] | 2 |
Regressions ❌ (secondary) | 0.5% | [0.1%, 0.8%] | 15 |
Improvements ✅ (primary) | - | - | 0 |
Improvements ✅ (secondary) | -0.3% | [-0.3%, -0.3%] | 1 |
All ❌✅ (primary) | 0.2% | [0.2%, 0.3%] | 2 |
Also cache the stable hash of interned Predicates #94487 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.4% | [-0.6%, -0.2%] | 12 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -0.4% | [-0.6%, -0.2%] | 12 |
Some initial normalization method changes #104905 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.9% | [-1.0%, -0.8%] | 2 |
Improvements ✅ (secondary) | -2.2% | [-2.8%, -0.3%] | 7 |
All ❌✅ (primary) | -0.9% | [-1.0%, -0.8%] | 2 |
Attribute cleanups #104861 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.2% | [-0.2%, -0.1%] | 3 |
Improvements ✅ (secondary) | -0.7% | [-0.9%, -0.5%] | 6 |
All ❌✅ (primary) | -0.2% | [-0.2%, -0.1%] | 3 |
rustc_ast_lowering: Stop lowering imports into multiple items #104963 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.6% | [0.6%, 0.6%] | 1 |
Improvements ✅ (primary) | -0.5% | [-1.2%, -0.3%] | 54 |
Improvements ✅ (secondary) | -4.2% | [-5.4%, -2.0%] | 13 |
All ❌✅ (primary) | -0.5% | [-1.2%, -0.3%] | 54 |
Ensure query backtraces work for DefId
s created after ast lowering #105133 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.2% | [-0.3%, -0.2%] | 5 |
Improvements ✅ (secondary) | -0.2% | [-0.3%, -0.2%] | 2 |
All ❌✅ (primary) | -0.2% | [-0.3%, -0.2%] | 5 |
Rewrite LLVM's archive writer in Rust #97485 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | - | - | 0 |
Improvements ✅ (primary) | -0.4% | [-0.6%, -0.2%] | 12 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -0.4% | [-0.6%, -0.2%] | 12 |
Cheaper dump_mir
take two #105121 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | - | - | 0 |
Regressions ❌ (secondary) | 0.9% | [0.9%, 0.9%] | 1 |
Improvements ✅ (primary) | -1.1% | [-1.9%, -0.6%] | 17 |
Improvements ✅ (secondary) | -1.4% | [-1.9%, -0.6%] | 9 |
All ❌✅ (primary) | -1.1% | [-1.9%, -0.6%] | 17 |
Rollup of 9 pull requests #105017 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.9% | [0.9%, 1.0%] | 2 |
Regressions ❌ (secondary) | 3.7% | [2.2%, 5.6%] | 12 |
Improvements ✅ (primary) | -0.6% | [-0.8%, -0.4%] | 7 |
Improvements ✅ (secondary) | -1.1% | [-1.3%, -0.9%] | 4 |
All ❌✅ (primary) | -0.3% | [-0.8%, 1.0%] | 9 |
Rollup of 14 pull requests #105070 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.6% | [0.4%, 0.9%] | 7 |
Regressions ❌ (secondary) | 0.3% | [0.2%, 0.4%] | 7 |
Improvements ✅ (primary) | -0.9% | [-1.0%, -0.8%] | 2 |
Improvements ✅ (secondary) | -2.1% | [-2.7%, -1.4%] | 8 |
All ❌✅ (primary) | 0.3% | [-1.0%, 0.9%] | 9 |
Rollup of 5 pull requests #105080 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.9% | [0.8%, 1.0%] | 2 |
Regressions ❌ (secondary) | 2.4% | [2.1%, 2.8%] | 6 |
Improvements ✅ (primary) | -0.7% | [-0.9%, -0.5%] | 7 |
Improvements ✅ (secondary) | - | - | 0 |
All ❌✅ (primary) | -0.3% | [-0.9%, 1.0%] | 9 |
° lqd already marked as triaged
Disable top down MIR inlining #105119 (Comparison Link)
(instructions:u) | mean | range | count |
---|---|---|---|
Regressions ❌ (primary) | 0.4% | [0.2%, 1.0%] | 12 |
Regressions ❌ (secondary) | 1.0% | [0.2%, 2.1%] | 15 |
Improvements ✅ (primary) | -0.4% | [-1.0%, -0.2%] | 8 |
Improvements ✅ (secondary) | -0.7% | [-1.0%, -0.1%] | 18 |
All ❌✅ (primary) | 0.1% | [-1.0%, 1.0%] | 20 |
backtrace
crate” with backtrace
.src-line-numbers > span
to .src-line-numbers > a
rustc_query_description!
FnMutDelegate
to trait objectsTypeckResults
from InferCtxt