2022-12-27 Triage Log

A light week with few performance changes, apart from one PR that added some necessary extra work to rustdoc and so we observed a corresponding hit to some doc benchmarks.

Triage done by @pnkfelix. Revision range: 8a746f4a..b38a6d37

Summary:

(instructions:u)meanrangecount
Regressions ❌
(primary)
2.8%[0.2%, 18.4%]14
Regressions ❌
(secondary)
1.3%[0.2%, 2.6%]24
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-0.7%[-1.1%, -0.3%]10
All ❌✅ (primary)2.8%[0.2%, 18.4%]14

3 Regressions, 2 Improvements, 1 Mixed; 1 of them in rollups 44 artifact comparisons made in total

Regressions

Rollup of 7 pull requests #105951 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
1.1%[1.0%, 1.2%]2
Regressions ❌
(secondary)
2.3%[2.1%, 2.7%]6
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)1.1%[1.0%, 1.2%]2

Fix impl block in const expr #104889 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
4.9%[0.5%, 18.4%]7
Regressions ❌
(secondary)
1.6%[1.5%, 1.6%]3
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)4.9%[0.5%, 18.4%]7
  • Regressions are all to rustdoc benchmarks; these were all expected, because this PR is inherently making rustdoc do extra work that it should have been doing all along (IIUC).
  • Marked as triaged.

Stop promoting all the things #105085 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.9%[0.8%, 1.0%]3
Regressions ❌
(secondary)
1.6%[0.9%, 4.1%]6
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.9%[0.8%, 1.0%]3
  • The three primary regressions are all to unicode-normalization {check-full, debug-full, check-incr-full}, by 1% or less.
  • The secondary regressions are to coercions-debug-full (by 4%), and to variations of ucd (by 1.25% or less).
  • In my judgement, the semantic problem this addresses more than offsets the cost that this PR is paying. Marking as triaged.

Improvements

Implement va_list and va_arg for s390x FFI #105381 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-1.1%[-1.2%, -1.0%]2
Improvements ✅
(secondary)
-2.3%[-2.6%, -2.0%]6
All ❌✅ (primary)-1.1%[-1.2%, -1.0%]2

Allow .. to be parsed as let initializer #105701 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.4%[-0.4%, -0.4%]1
Improvements ✅
(secondary)
-0.5%[-1.0%, -0.4%]12
All ❌✅ (primary)-0.4%[-0.4%, -0.4%]1

Mixed

Use DepKind instead of &'static str in QueryStackFrame #105550 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.2%[0.2%, 0.2%]4
Regressions ❌
(secondary)
0.2%[0.2%, 0.2%]1
Improvements ✅
(primary)
-0.2%[-0.2%, -0.2%]2
Improvements ✅
(secondary)
-0.5%[-0.7%, -0.3%]5
All ❌✅ (primary)0.1%[-0.2%, 0.2%]6
  • The primary effects here are to various incremental scenarios, by relatively small amounts in either direction.
  • The PR reviewer already has posted some notes summarizing their investigation into the performance delta.
  • This PR is adding a type parameter to several methods that did not have one before, which I expect to change code layout of the compiler itself.
  • i.e. I would expect this kind of change to have broad but shallow effects on rustc performance, which is consistent with the timer report.
  • Marking as triaged.

Untriaged Pull Requests