|  | 
|  | 1 | +# 2025-09-23 Triage Log | 
|  | 2 | + | 
|  | 3 | +Moving command-line argument quoting from C++ to Rust ([#146700](https://github.com/rust-lang/rust/pull/146700)) resulted in a nice performance | 
|  | 4 | +win when dealing with many dependencies and large workspaces. A somewhat costly destination propagation | 
|  | 5 | +compiler pass was enabled by default ([#142915](https://github.com/rust-lang/rust/pull/142915)), which resulted in some build time regressions, | 
|  | 6 | +but should result in improved runtime performance. The rest of changes were small. | 
|  | 7 | + | 
|  | 8 | +Triage done by **@kobzol**. | 
|  | 9 | +Revision range: [52618eb3..ce4beebe](https://perf.rust-lang.org/?start=52618eb338609df44978b0ca4451ab7941fd1c7a&end=ce4beebecb77821734079cff47d8af08f9f27f11&absolute=false&stat=instructions%3Au) | 
|  | 10 | + | 
|  | 11 | +**Summary**: | 
|  | 12 | + | 
|  | 13 | +| (instructions:u)                   | mean  | range           | count | | 
|  | 14 | +|:----------------------------------:|:-----:|:---------------:|:-----:| | 
|  | 15 | +| Regressions ❌ <br /> (primary)    | 0.3%  | [0.1%, 1.9%]    | 61    | | 
|  | 16 | +| Regressions ❌ <br /> (secondary)  | 0.6%  | [0.1%, 3.4%]    | 90    | | 
|  | 17 | +| Improvements ✅ <br /> (primary)   | -0.5% | [-1.9%, -0.2%]  | 29    | | 
|  | 18 | +| Improvements ✅ <br /> (secondary) | -1.3% | [-22.8%, -0.1%] | 71    | | 
|  | 19 | +| All ❌✅ (primary)                 | 0.0%  | [-1.9%, 1.9%]   | 90    | | 
|  | 20 | + | 
|  | 21 | + | 
|  | 22 | +1 Regression, 4 Improvements, 4 Mixed; 4 of them in rollups | 
|  | 23 | +37 artifact comparisons made in total | 
|  | 24 | + | 
|  | 25 | +#### Regressions | 
|  | 26 | + | 
|  | 27 | +Rollup of 5 pull requests [#146698](https://github.com/rust-lang/rust/pull/146698) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=93117677d857bb7c3f12c9dc500d77839f8fb13d&end=4793ef5cf527339f072c39d129477ad5bb678f9e&stat=instructions:u) | 
|  | 28 | + | 
|  | 29 | +| (instructions:u)                   | mean | range        | count | | 
|  | 30 | +|:----------------------------------:|:----:|:------------:|:-----:| | 
|  | 31 | +| Regressions ❌ <br /> (primary)    | 0.2% | [0.2%, 0.2%] | 2     | | 
|  | 32 | +| Regressions ❌ <br /> (secondary)  | 0.2% | [0.1%, 0.2%] | 16    | | 
|  | 33 | +| Improvements ✅ <br /> (primary)   | -    | -            | 0     | | 
|  | 34 | +| Improvements ✅ <br /> (secondary) | -    | -            | 0     | | 
|  | 35 | +| All ❌✅ (primary)                 | 0.2% | [0.2%, 0.2%] | 2     | | 
|  | 36 | + | 
|  | 37 | +- From the perf. runs it looks like the tiny regressions are distributed amongst multiple PRs. Given that most of them are in secondary benchmarks, and those benchmarks were going a bit up and down recently, I don't think it's worth to dig deeper here. | 
|  | 38 | +- Marked as triaged.  | 
|  | 39 | + | 
|  | 40 | +#### Improvements | 
|  | 41 | + | 
|  | 42 | +Prevent ABI changes affect EnzymeAD [#142544](https://github.com/rust-lang/rust/pull/142544) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=4793ef5cf527339f072c39d129477ad5bb678f9e&end=97a987f14c5bd948f7ee8dba75999f104a6f03a7&stat=instructions:u) | 
|  | 43 | + | 
|  | 44 | +| (instructions:u)                   | mean  | range          | count | | 
|  | 45 | +|:----------------------------------:|:-----:|:--------------:|:-----:| | 
|  | 46 | +| Regressions ❌ <br /> (primary)    | -     | -              | 0     | | 
|  | 47 | +| Regressions ❌ <br /> (secondary)  | 0.2%  | [0.0%, 0.3%]   | 2     | | 
|  | 48 | +| Improvements ✅ <br /> (primary)   | -0.2% | [-0.2%, -0.2%] | 1     | | 
|  | 49 | +| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.1%] | 18    | | 
|  | 50 | +| All ❌✅ (primary)                 | -0.2% | [-0.2%, -0.2%] | 1     | | 
|  | 51 | + | 
|  | 52 | + | 
|  | 53 | +Clippy subtree update [#146728](https://github.com/rust-lang/rust/pull/146728) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=0c0c58b8e453f552ebd7f3a1545acdd109de028c&end=7c275d09ea6b953d2cca169667184a7214bd14c7&stat=instructions:u) | 
|  | 54 | + | 
|  | 55 | +| (instructions:u)                   | mean  | range          | count | | 
|  | 56 | +|:----------------------------------:|:-----:|:--------------:|:-----:| | 
|  | 57 | +| Regressions ❌ <br /> (primary)    | -     | -              | 0     | | 
|  | 58 | +| Regressions ❌ <br /> (secondary)  | -     | -              | 0     | | 
|  | 59 | +| Improvements ✅ <br /> (primary)   | -2.9% | [-2.9%, -2.9%] | 1     | | 
|  | 60 | +| Improvements ✅ <br /> (secondary) | -     | -              | 0     | | 
|  | 61 | +| All ❌✅ (primary)                 | -2.9% | [-2.9%, -2.9%] | 1     | | 
|  | 62 | + | 
|  | 63 | + | 
|  | 64 | +GVN: stop hashing opaque values [#145737](https://github.com/rust-lang/rust/pull/145737) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2f4dfc753fd86c672aa4145940db075a8a149f17&end=e10aa8891182378de002bd71bf4d04181fb8231d&stat=instructions:u) | 
|  | 65 | + | 
|  | 66 | +| (instructions:u)                   | mean  | range          | count | | 
|  | 67 | +|:----------------------------------:|:-----:|:--------------:|:-----:| | 
|  | 68 | +| Regressions ❌ <br /> (primary)    | -     | -              | 0     | | 
|  | 69 | +| Regressions ❌ <br /> (secondary)  | -     | -              | 0     | | 
|  | 70 | +| Improvements ✅ <br /> (primary)   | -1.7% | [-1.9%, -1.5%] | 2     | | 
|  | 71 | +| Improvements ✅ <br /> (secondary) | -1.4% | [-1.4%, -1.4%] | 1     | | 
|  | 72 | +| All ❌✅ (primary)                 | -1.7% | [-1.9%, -1.5%] | 2     | | 
|  | 73 | + | 
|  | 74 | + | 
|  | 75 | +cg_llvm: Move target machine command-line quoting from C++ to Rust [#146700](https://github.com/rust-lang/rust/pull/146700) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=59043567a5cf12800e1457c36ad6a6b0fa02c6b6&end=0be8e16088894483a7012c5026c3247c14a0c3c2&stat=instructions:u) | 
|  | 76 | + | 
|  | 77 | +| (instructions:u)                   | mean  | range           | count | | 
|  | 78 | +|:----------------------------------:|:-----:|:---------------:|:-----:| | 
|  | 79 | +| Regressions ❌ <br /> (primary)    | -     | -               | 0     | | 
|  | 80 | +| Regressions ❌ <br /> (secondary)  | -     | -               | 0     | | 
|  | 81 | +| Improvements ✅ <br /> (primary)   | -0.4% | [-0.6%, -0.2%]  | 4     | | 
|  | 82 | +| Improvements ✅ <br /> (secondary) | -3.0% | [-23.4%, -0.2%] | 16    | | 
|  | 83 | +| All ❌✅ (primary)                 | -0.4% | [-0.6%, -0.2%]  | 4     | | 
|  | 84 | + | 
|  | 85 | + | 
|  | 86 | +#### Mixed | 
|  | 87 | + | 
|  | 88 | +Rollup of 9 pull requests [#146614](https://github.com/rust-lang/rust/pull/146614) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9d82de19dfae60e55c291f5f28e28cfc2c1b9630&end=8a1b39995e5b630c5872f5de5079f1f569bd5ac2&stat=instructions:u) | 
|  | 89 | + | 
|  | 90 | +| (instructions:u)                   | mean  | range          | count | | 
|  | 91 | +|:----------------------------------:|:-----:|:--------------:|:-----:| | 
|  | 92 | +| Regressions ❌ <br /> (primary)    | 0.2%  | [0.2%, 0.2%]   | 2     | | 
|  | 93 | +| Regressions ❌ <br /> (secondary)  | 3.7%  | [3.0%, 4.2%]   | 6     | | 
|  | 94 | +| Improvements ✅ <br /> (primary)   | -     | -              | 0     | | 
|  | 95 | +| Improvements ✅ <br /> (secondary) | -0.2% | [-0.3%, -0.0%] | 6     | | 
|  | 96 | +| All ❌✅ (primary)                 | 0.2%  | [0.2%, 0.2%]   | 2     | | 
|  | 97 | + | 
|  | 98 | +- The regression in compile-time function evaluation was caused by [#146402](https://github.com/rust-lang/rust/pull/146402), which is a fix. | 
|  | 99 | +- Marked as triaged. | 
|  | 100 | + | 
|  | 101 | +Enable DestinationPropagation by default [#142915](https://github.com/rust-lang/rust/pull/142915) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2ebb1263e3506412889410b567fa813ca3cb5c63&end=ce6daf3d5a5bffb2a00264197f92dc31608df0da&stat=instructions:u) | 
|  | 102 | + | 
|  | 103 | +| (instructions:u)                   | mean  | range          | count | | 
|  | 104 | +|:----------------------------------:|:-----:|:--------------:|:-----:| | 
|  | 105 | +| Regressions ❌ <br /> (primary)    | 0.3%  | [0.1%, 1.1%]   | 62    | | 
|  | 106 | +| Regressions ❌ <br /> (secondary)  | 0.4%  | [0.1%, 1.6%]   | 98    | | 
|  | 107 | +| Improvements ✅ <br /> (primary)   | -0.4% | [-1.7%, -0.1%] | 31    | | 
|  | 108 | +| Improvements ✅ <br /> (secondary) | -0.7% | [-2.5%, -0.1%] | 60    | | 
|  | 109 | +| All ❌✅ (primary)                 | 0.0%  | [-1.7%, 1.1%]  | 93    | | 
|  | 110 | + | 
|  | 111 | +- The compile-time effects seem to be a wash, while this nicely reduced the binary size of the compiler itself, and is expected to improve runtime performance. | 
|  | 112 | +- Marked as triaged. | 
|  | 113 | + | 
|  | 114 | +Rollup of 8 pull requests [#146830](https://github.com/rust-lang/rust/pull/146830) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=dd7fda570040e8a736f7d8bc28ddd1b444aabc82&end=dfa22235d858086511bedc4acde9db1c045ffbac&stat=instructions:u) | 
|  | 115 | + | 
|  | 116 | +| (instructions:u)                   | mean  | range          | count | | 
|  | 117 | +|:----------------------------------:|:-----:|:--------------:|:-----:| | 
|  | 118 | +| Regressions ❌ <br /> (primary)    | 0.2%  | [0.2%, 0.2%]   | 1     | | 
|  | 119 | +| Regressions ❌ <br /> (secondary)  | 0.2%  | [0.1%, 0.2%]   | 4     | | 
|  | 120 | +| Improvements ✅ <br /> (primary)   | -     | -              | 0     | | 
|  | 121 | +| Improvements ✅ <br /> (secondary) | -0.2% | [-0.3%, -0.1%] | 2     | | 
|  | 122 | +| All ❌✅ (primary)                 | 0.2%  | [0.2%, 0.2%]   | 1     | | 
|  | 123 | + | 
|  | 124 | +- There's one tiny regression on a primary check benchmark, it doesn't seem worth it to investigate further. | 
|  | 125 | +- Marked as triaged. | 
|  | 126 | + | 
|  | 127 | +Rollup of 9 pull requests [#146879](https://github.com/rust-lang/rust/pull/146879) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9f32ccf35fb877270bc44a86a126440f04d676d0&end=29005cb128e6d447e6bd9c110c9a684665f95985&stat=instructions:u) | 
|  | 128 | + | 
|  | 129 | +| (instructions:u)                   | mean  | range          | count | | 
|  | 130 | +|:----------------------------------:|:-----:|:--------------:|:-----:| | 
|  | 131 | +| Regressions ❌ <br /> (primary)    | -     | -              | 0     | | 
|  | 132 | +| Regressions ❌ <br /> (secondary)  | 0.3%  | [0.1%, 0.5%]   | 2     | | 
|  | 133 | +| Improvements ✅ <br /> (primary)   | -0.2% | [-0.2%, -0.2%] | 1     | | 
|  | 134 | +| Improvements ✅ <br /> (secondary) | -0.2% | [-0.2%, -0.2%] | 7     | | 
|  | 135 | +| All ❌✅ (primary)                 | -0.2% | [-0.2%, -0.2%] | 1     | | 
|  | 136 | + | 
|  | 137 | +- Seems like noise returning back, similar results to other rollups, just in the other direction. | 
|  | 138 | +- Marked as triaged. | 
0 commit comments