2022-08-02 Triage Log

A good week! We had one regression from #99123 that could use further study, but we had a huge swath of improvements. The downward trend of the performance graph summary is striking. Perhaps best of all: Only one rollup PR impacted performance this week which makes things so much easier to evaluate! Great work everyone!

Triage done by @pnkfelix. Revision range: 50166d5e..792bc5a0

Summary:

meanmaxcount
Regressions 😿
(primary)
0.4%0.7%5
Regressions 😿
(secondary)
0.6%1.1%11
Improvements πŸŽ‰
(primary)
-0.8%-3.3%140
Improvements πŸŽ‰
(secondary)
-0.9%-11.0%95
All πŸ˜ΏπŸŽ‰ (primary)-0.8%-3.3%145

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

Regressions

proc_macro: use crossbeam channels for the proc_macro cross-thread bridge #99123 (Comparison Link)

meanmaxcount
Regressions 😿
(primary)
0.9%1.4%11
Regressions 😿
(secondary)
N/AN/A0
Improvements πŸŽ‰
(primary)
N/AN/A0
Improvements πŸŽ‰
(secondary)
N/AN/A0
All πŸ˜ΏπŸŽ‰ (primary)0.9%1.4%11
  • all 11 regressions are to various profiles+scenarios for html5ever
  • @nnethercote and @eddyb are discussing the regression to html5ever on the PR (#99123)
  • not marking as triaged, not yet at least; lets try and see if eddyb's suggested mitigation actually helps here

Improvements

Rollup of 7 pull requests #99816 (Comparison Link)

meanmaxcount
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
1.0%1.0%1
Improvements πŸŽ‰
(primary)
-0.2%-0.2%1
Improvements πŸŽ‰
(secondary)
-0.5%-1.6%10
All πŸ˜ΏπŸŽ‰ (primary)-0.2%-0.2%1
  • primary improvement was hyper check incr-unchanged; secondaries were coercions debug full, and 9 variations on extern. Secondary regression was deep-vector opt incr-patched: println.

anonymize all bound vars, not just regions #99730 (Comparison Link)

meanmaxcount
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
N/AN/A0
Improvements πŸŽ‰
(primary)
-0.4%-0.6%56
Improvements πŸŽ‰
(secondary)
-0.4%-0.9%36
All πŸ˜ΏπŸŽ‰ (primary)-0.4%-0.6%56
  • As is, this PR registered compilation time improvements
  • However, @simulacrum noted that it was associated with a nearly 2% regression to bootstrap times.

Limit symbols exported from proc macros #99944 (Comparison Link)

meanmaxcount
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
N/AN/A0
Improvements πŸŽ‰
(primary)
-0.6%-2.9%41
Improvements πŸŽ‰
(secondary)
-2.4%-10.7%11
All πŸ˜ΏπŸŽ‰ (primary)-0.6%-2.9%41
  • wow, this was a big win! serde_derive incr-unchanged builds up to 3% faster; ripgrep check is up to 1.75% faster, hyper and webrender check 1% faster.

Lexer improvements #99884 (Comparison Link)

meanmaxcount
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
N/AN/A0
Improvements πŸŽ‰
(primary)
-0.3%-0.6%42
Improvements πŸŽ‰
(secondary)
-0.5%-1.2%48
All πŸ˜ΏπŸŽ‰ (primary)-0.3%-0.6%42

Mixed

Remove remaining uses of box syntax from librustdoc #99577 (Comparison Link)

meanmaxcount
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
0.3%0.3%4
Improvements πŸŽ‰
(primary)
-0.3%-0.3%2
Improvements πŸŽ‰
(secondary)
N/AN/A0
All πŸ˜ΏπŸŽ‰ (primary)-0.3%-0.3%2
  • as you might expect, the limited number of performance changes here were to doc benchmarks (specifically serde and libc doc).

Remove TreeAndSpacing. #99887 (Comparison Link)

meanmaxcount
Regressions 😿
(primary)
0.3%0.3%1
Regressions 😿
(secondary)
0.2%0.2%1
Improvements πŸŽ‰
(primary)
-0.3%-0.4%5
Improvements πŸŽ‰
(secondary)
-0.4%-0.9%16
All πŸ˜ΏπŸŽ‰ (primary)-0.2%-0.4%6
  • already triaged by nnethercote: “There's a single regressing result and 25 improved results. The changes are all very small. This is fine”

Thin AssocItem #95884 (Comparison Link)

meanmaxcount
Regressions 😿
(primary)
0.3%0.4%16
Regressions 😿
(secondary)
0.5%0.6%9
Improvements πŸŽ‰
(primary)
-0.3%-0.4%7
Improvements πŸŽ‰
(secondary)
-0.4%-0.5%8
All πŸ˜ΏπŸŽ‰ (primary)0.1%0.4%23
  • already triaged by nnethercote: “This looks perf-neutral, with the improvements roughly the same size as the regressions.”

Remove fn backtrace and replace with usages of provider API #99431 (Comparison Link)

meanmaxcount
Regressions 😿
(primary)
N/AN/A0
Regressions 😿
(secondary)
1.5%1.5%2
Improvements πŸŽ‰
(primary)
-0.9%-1.4%2
Improvements πŸŽ‰
(secondary)
N/AN/A0
All πŸ˜ΏπŸŽ‰ (primary)-0.9%-1.4%2
  • the improvements are to building primary benchmark cargo opt in incr-patch: println and incr-full, by -1.38% and -0.42% respectively . The regression was to the externs incr-full in debug and opt profiles, both by 1.52%.
  • this is entirely acceptable (and wasn't marked as a performance regression by the bot in the first place)

Untriaged Pull Requests