It was a somewhat quiet week with real-world benchmarks showing a slight improvement on average and only one real-world crate, bitmaps
, experiencing regressions. Unfortunately, the cause of the regressions don't look straightforward though. The biggest performance win came from a change to not encode attributes in metadata that are only used within the local crate. This improved doc builds of 16 of the 18 real world crates we run in our performance suite!
Triage done by @rylev. Revision range: c51871..7355d
Summary:
Regressions 😿 (primary) | Regressions 😿 (secondary) | Improvements 🎉 (primary) | Improvements 🎉 (secondary) | All 😿 🎉 (primary) | |
---|---|---|---|---|---|
count | 7 | 9 | 40 | 43 | 47 |
mean | 1.6% | 2.6% | -0.6% | -1.3% | -0.3% |
max | 1.9% | 3.5% | -2.6% | -2.6% | -2.6% |
2 Regressions, 4 Improvements, 0 Mixed; 0 of them in rollups 51 artifact comparisons made in total
Add EarlyBinder #96883 (Comparison Link)
Regressions 😿 (primary) | Regressions 😿 (secondary) | Improvements 🎉 (primary) | Improvements 🎉 (secondary) | All 😿 🎉 (primary) | |
---|---|---|---|---|---|
count | 7 | 0 | 0 | 0 | 7 |
mean | 1.7% | N/A | N/A | N/A | 1.7% |
max | 2.0% | N/A | N/A | N/A | 2.0% |
specialization_graph_of
is taking more time which is trait related so it makes sense.Retire ItemLikeVisitor
trait #96825 (Comparison Link)
Regressions 😿 (primary) | Regressions 😿 (secondary) | Improvements 🎉 (primary) | Improvements 🎉 (secondary) | All 😿 🎉 (primary) | |
---|---|---|---|---|---|
count | 0 | 6 | 0 | 5 | 0 |
mean | N/A | 4.2% | N/A | -0.3% | N/A |
max | N/A | 4.8% | N/A | -0.4% | N/A |
externs
stress test.native_library_kind
query is being hit more often. Since that query is going to be used a lot in the externs
crate, it makes sense it would be the one to show regressions.externs debug full
shows a big regression in calls to rustc_metadata::rmeta::decoder::cstore_impl::provide
which calls into native_library_kind
.don't encode only locally used attrs #95562 (Comparison Link)
Regressions 😿 (primary) | Regressions 😿 (secondary) | Improvements 🎉 (primary) | Improvements 🎉 (secondary) | All 😿 🎉 (primary) | |
---|---|---|---|---|---|
count | 0 | 0 | 22 | 23 | 22 |
mean | N/A | N/A | -0.8% | -1.8% | -0.8% |
max | N/A | N/A | -2.7% | -2.8% | -2.7% |
rustc: Stricter checking for #[link] attributes #96885 (Comparison Link)
Regressions 😿 (primary) | Regressions 😿 (secondary) | Improvements 🎉 (primary) | Improvements 🎉 (secondary) | All 😿 🎉 (primary) | |
---|---|---|---|---|---|
count | 0 | 0 | 0 | 9 | 0 |
mean | N/A | N/A | N/A | -0.8% | N/A |
max | N/A | N/A | N/A | -1.2% | N/A |
optimize insert_range
method of IntervalSet
#96895 (Comparison Link)
Regressions 😿 (primary) | Regressions 😿 (secondary) | Improvements 🎉 (primary) | Improvements 🎉 (secondary) | All 😿 🎉 (primary) | |
---|---|---|---|---|---|
count | 0 | 0 | 0 | 6 | 0 |
mean | N/A | N/A | N/A | -1.3% | N/A |
max | N/A | N/A | N/A | -2.4% | N/A |
Clean up derived obligation creation #96892 (Comparison Link)
Regressions 😿 (primary) | Regressions 😿 (secondary) | Improvements 🎉 (primary) | Improvements 🎉 (secondary) | All 😿 🎉 (primary) | |
---|---|---|---|---|---|
count | 0 | 0 | 3 | 1 | 3 |
mean | N/A | N/A | -0.4% | -0.4% | -0.4% |
max | N/A | N/A | -0.6% | -0.4% | -0.6% |