2023-08-01 Triage Log

A very noisy week with most “regressions” simply being reflections of noise. Unfortunately the improvements were also minor and/or noise so overall the performance did not shift very much.

Triage done by @rylev Revision range: 0308df2..828bdc2

Summary:

(instructions:u)meanrangecount
Regressions ❌
(primary)
3.1%[3.1%, 3.1%]1
Regressions ❌
(secondary)
1.2%[0.5%, 2.5%]16
Improvements ✅
(primary)
-0.8%[-1.4%, -0.4%]64
Improvements ✅
(secondary)
-1.1%[-2.1%, -0.3%]59
All ❌✅ (primary)-0.8%[-1.4%, 3.1%]65

10 Regressions, 11 Improvements, 9 Mixed; 5 of them in rollups 107 artifact comparisons made in total

Regressions

match on chars instead of &strs for .split() or .strip_prefix() #113973 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.4%[0.4%, 0.4%]1
Regressions ❌
(secondary)
0.5%[0.2%, 1.0%]15
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.4%[0.4%, 0.4%]1
  • Seems like it's mostly noise and thus not worth investigating.

Fix test panics for submodule of book is not updated #113965 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.7%[0.7%, 0.8%]4
Regressions ❌
(secondary)
0.5%[0.3%, 0.6%]7
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.7%[0.7%, 0.8%]4
  • this is noise that is corrected in the next run.

Add riscv64gc-unknown-hermit target #114004 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.8%[0.7%, 0.8%]4
Regressions ❌
(secondary)
0.5%[0.3%, 0.7%]10
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.8%[0.7%, 0.8%]4
  • Noise

Reimplement C-str literals #113476 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.7%[0.7%, 0.7%]3
Regressions ❌
(secondary)
0.7%[0.5%, 1.2%]3
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.7%[0.7%, 0.7%]3
  • Noise

[rustdoc] If re-export is private, get the next item until a public one is found or expose the private item directly #113374 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
1.0%[0.3%, 2.7%]4
Regressions ❌
(secondary)
0.4%[0.3%, 0.5%]3
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)1.0%[0.3%, 2.7%]4
  • Looks like a legit regression in a very small number of crates. render_mod_item seems to be where more time is being spent.

Implement generic const items #113522 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.7%[0.3%, 1.0%]17
Regressions ❌
(secondary)
0.9%[0.3%, 1.4%]9
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.7%[0.3%, 1.0%]17
  • Author is looking into the issue

fix(resolve): update the ambiguity glob binding as warning recursively #113099 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
1.5%[1.2%, 2.6%]13
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
-0.3%[-0.3%, -0.3%]1
All ❌✅ (primary)--0
  • Not big enough to warrant addressing.

Fix simd_bswap for i8/u8 #114266 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
5.8%[5.8%, 5.8%]1
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)--0
  • Marginal regression - not worth investigating

Rollup of 8 pull requests #114307 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
2.1%[1.2%, 5.6%]5
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)--0
  • Noise

Rollup of 7 pull requests #114331 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.4%[0.4%, 0.4%]2
Regressions ❌
(secondary)
0.4%[0.3%, 0.5%]7
Improvements ✅
(primary)
--0
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.4%[0.4%, 0.4%]2
  • Too small of a regression to warrant investigation. Might just be noise.

Improvements

Revert “Prototype: Add unstable -Z reference-niches option” #113946 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.8%[-1.1%, -0.3%]13
Improvements ✅
(secondary)
-1.1%[-1.3%, -0.7%]4
All ❌✅ (primary)-0.8%[-1.1%, -0.3%]13

Use features() over features_untracked() where possible #113961 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.3%[-0.4%, -0.2%]2
Improvements ✅
(secondary)
-0.4%[-0.6%, -0.3%]5
All ❌✅ (primary)-0.3%[-0.4%, -0.2%]2

Migrate GUI colors test to original CSS color format #113976 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.7%[-0.7%, -0.6%]4
Improvements ✅
(secondary)
-0.5%[-0.6%, -0.3%]6
All ❌✅ (primary)-0.7%[-0.7%, -0.6%]4

lint/ctypes: only try normalize #113921 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
1.5%[1.5%, 1.5%]1
Improvements ✅
(primary)
-0.8%[-0.8%, -0.7%]4
Improvements ✅
(secondary)
-0.6%[-0.8%, -0.3%]10
All ❌✅ (primary)-0.8%[-0.8%, -0.7%]4

Replace in-tree rustc_apfloat with the new version of the crate #113843 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.4%[-0.5%, -0.3%]6
Improvements ✅
(secondary)
-1.2%[-1.2%, -1.1%]4
All ❌✅ (primary)-0.4%[-0.5%, -0.3%]6

Rollup of 7 pull requests #114116 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
2.0%[2.0%, 2.0%]1
Improvements ✅
(primary)
-0.3%[-0.5%, -0.2%]28
Improvements ✅
(secondary)
-0.4%[-0.5%, -0.3%]10
All ❌✅ (primary)-0.3%[-0.5%, -0.2%]28

Remove constness from ParamEnv #114134 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.4%[-0.6%, -0.3%]23
Improvements ✅
(secondary)
-0.5%[-0.7%, -0.3%]16
All ❌✅ (primary)-0.4%[-0.6%, -0.3%]23

Optimize TokenKind::clone. #114119 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-1.0%[-1.5%, -0.5%]10
Improvements ✅
(secondary)
-0.7%[-1.0%, -0.3%]7
All ❌✅ (primary)-1.0%[-1.5%, -0.5%]10

Rollup of 4 pull requests #114272 (Comparison Link)

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

Only golden arches #114225 (Comparison Link)

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

Change default panic handler message format. #112849 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.4%[-0.4%, -0.4%]2
Improvements ✅
(secondary)
-0.4%[-0.5%, -0.3%]4
All ❌✅ (primary)-0.4%[-0.4%, -0.4%]2

Remove constness from TraitPredicate #114202 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.7%[-0.9%, -0.4%]16
Improvements ✅
(secondary)
-0.6%[-1.2%, -0.3%]13
All ❌✅ (primary)-0.7%[-0.9%, -0.4%]16

Mixed

Add #[inline] to core debug assertion helpers #113687 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.7%[0.6%, 0.7%]2
Regressions ❌
(secondary)
0.5%[0.3%, 0.6%]5
Improvements ✅
(primary)
-0.2%[-0.3%, -0.2%]3
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.1%[-0.3%, 0.7%]5
  • The small number of icount regressions are inconsequential. The large number of binary size reductions are very nice.

delete [allow(unused_unsafe)] from issue #74838 #111362 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.4%[0.4%, 0.4%]1
Regressions ❌
(secondary)
--0
Improvements ✅
(primary)
-0.7%[-0.7%, -0.6%]4
Improvements ✅
(secondary)
-0.5%[-0.5%, -0.3%]5
All ❌✅ (primary)-0.5%[-0.7%, 0.4%]5
  • One tiny regression; this is fine.

interpret: Unify projections for MPlaceTy, PlaceTy, OpTy #114011 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
2.8%[2.4%, 3.2%]6
Improvements ✅
(primary)
-0.7%[-0.8%, -0.7%]3
Improvements ✅
(secondary)
-1.0%[-1.5%, -0.5%]10
All ❌✅ (primary)-0.7%[-0.8%, -0.7%]3
  • the regressions that are least likely to be noise are in CTE stress tests. Given the stress nature of the test, the smallish regressions probably aren't worth investigating. Asked author if this is something worth looking into.

Don't treat negative trait predicates as always knowable #114080 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.2%[0.2%, 0.2%]1
Regressions ❌
(secondary)
0.3%[0.3%, 0.4%]3
Improvements ✅
(primary)
-0.8%[-0.8%, -0.8%]1
Improvements ✅
(secondary)
-29.9%[-57.8%, -1.9%]2
All ❌✅ (primary)-0.3%[-0.8%, 0.2%]2
  • A small mixture of tiny wins and losses, nothing to worry about.

Implement diagnostic translation for rustc-errors #113281 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
69.5%[2.1%, 136.8%]2
Improvements ✅
(primary)
-0.4%[-0.4%, -0.3%]2
Improvements ✅
(secondary)
-0.4%[-0.5%, -0.3%]3
All ❌✅ (primary)-0.4%[-0.4%, -0.3%]2
  • The huge unused-warnings check incr-unchanged regression here was just a blip and immediately disappeared in #114080.

Build the first LLVM without LTO in try builds #113779 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
0.6%[0.6%, 0.6%]1
Improvements ✅
(primary)
-0.6%[-0.6%, -0.6%]3
Improvements ✅
(secondary)
-0.5%[-0.6%, -0.5%]5
All ❌✅ (primary)-0.6%[-0.6%, -0.6%]3
  • Noise

Rollup of 6 pull requests #114264 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.4%[0.4%, 0.4%]1
Regressions ❌
(secondary)
1.0%[1.0%, 1.0%]2
Improvements ✅
(primary)
-0.4%[-0.5%, -0.3%]3
Improvements ✅
(secondary)
--0
All ❌✅ (primary)-0.2%[-0.5%, 0.4%]4
  • Changes are a wash so not worth investigating.

Print omitted frames count for short backtrace mode #112843 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
--0
Regressions ❌
(secondary)
6.1%[6.1%, 6.1%]1
Improvements ✅
(primary)
-0.4%[-0.4%, -0.4%]1
Improvements ✅
(secondary)
--0
All ❌✅ (primary)-0.4%[-0.4%, -0.4%]1
  • Seems like the start of noise

Only consider places with the same local in each_borrow_involving_path. #111753 (Comparison Link)

(instructions:u)meanrangecount
Regressions ❌
(primary)
0.4%[0.2%, 0.6%]6
Regressions ❌
(secondary)
1.9%[0.7%, 5.9%]5
Improvements ✅
(primary)
-0.4%[-0.5%, -0.4%]2
Improvements ✅
(secondary)
--0
All ❌✅ (primary)0.2%[-0.5%, 0.6%]8