# 2023-10-31 Triage Log

Short triage this week, as last week's was done later in the week than usual.
As a result, a pretty quiet set of results.

Triage done by **@simulacrum**.
Revision range: [698db856de0b67313ddcb96b6599598058489ea9..650991d62c3a2c80ba27009d06839adbb038bf5e](https://perf.rust-lang.org/?start=698db856de0b67313ddcb96b6599598058489ea9&end=650991d62c3a2c80ba27009d06839adbb038bf5e&absolute=false&stat=instructions%3Au)

**Summary**:

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | 0.7%  | [0.2%, 5.0%]   | 48    |
| Regressions ❌ <br /> (secondary)  | 0.7%  | [0.1%, 1.9%]   | 18    |
| Improvements ✅ <br /> (primary)   | -0.9% | [-3.3%, -0.2%] | 11    |
| Improvements ✅ <br /> (secondary) | -0.5% | [-0.8%, -0.4%] | 4     |
| All ❌✅ (primary)                 | 0.4%  | [-3.3%, 5.0%]  | 59    |

2 Regressions, 1 Improvements, 1 Mixed; 0 of them in rollups
43 artifact comparisons made in total

#### Regressions

Lint overlapping ranges as a separate pass [#116751](https://github.com/rust-lang/rust/pull/116751) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=688892938e825312fcf808236af95cadb4f088e9&end=9d6d5d48948945debca5a693f6030246f7bb2baf&stat=instructions:u)

| (instructions:u)                   | mean | range        | count |
|:----------------------------------:|:----:|:------------:|:-----:|
| Regressions ❌ <br /> (primary)    | 0.3% | [0.2%, 1.0%] | 19    |
| Regressions ❌ <br /> (secondary)  | 0.3% | [0.3%, 0.3%] | 3     |
| Improvements ✅ <br /> (primary)   | -    | -            | 0     |
| Improvements ✅ <br /> (secondary) | -    | -            | 0     |
| All ❌✅ (primary)                 | 0.3% | [0.2%, 1.0%] | 19    |

Slight regressions across multiple benchmarks. This is expected impact with no
planned mitigation, likely small enough to be acceptable for the functionality
here.

Eat close paren if capture_cfg to avoid unbalanced parens [#116889](https://github.com/rust-lang/rust/pull/116889) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=83c9732e0c7e1cae5f039677da4c51ee1d9b19b0&end=88ae8c93854a1a67c6c0a45971c7198477456c33&stat=instructions:u)

| (instructions:u)                   | mean | range        | count |
|:----------------------------------:|:----:|:------------:|:-----:|
| Regressions ❌ <br /> (primary)    | 0.2% | [0.1%, 0.2%] | 6     |
| Regressions ❌ <br /> (secondary)  | 0.6% | [0.4%, 0.9%] | 9     |
| Improvements ✅ <br /> (primary)   | -    | -            | 0     |
| Improvements ✅ <br /> (secondary) | -    | -            | 0     |
| All ❌✅ (primary)                 | 0.2% | [0.1%, 0.2%] | 6     |

> This is indeed a slight perf regression for benchmarks with large number of function parameters, like externs with 3000 function definitions.

(https://github.com/rust-lang/rust/pull/116889#issuecomment-1784115059)

However a possibly faster version will be [worked on by the
author](https://github.com/rust-lang/rust/pull/116889#issuecomment-1784141294).
In the meantime the regression is limited to just a few benchmarks, mostly
stress tests.

#### Improvements

Only call `mir_const_qualif` if absolutely necessary [#117166](https://github.com/rust-lang/rust/pull/117166) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9d6d5d48948945debca5a693f6030246f7bb2baf&end=10143e781b3ae63240b96cabe13cc33671ccb13a&stat=instructions:u)

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | -     | -              | 0     |
| Regressions ❌ <br /> (secondary)  | -     | -              | 0     |
| Improvements ✅ <br /> (primary)   | -0.3% | [-0.5%, -0.2%] | 35    |
| Improvements ✅ <br /> (secondary) | -0.4% | [-0.4%, -0.4%] | 3     |
| All ❌✅ (primary)                 | -0.3% | [-0.5%, -0.2%] | 35    |


#### Mixed

rustdoc: use JS to inline target type impl docs into alias [#116471](https://github.com/rust-lang/rust/pull/116471) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=2f1bd0729b74787f55d4cbc7818cfd787cd43a99&end=6f349cdbfaf75e12ed3c307721da34a400d31b7c&stat=instructions:u)

| (instructions:u)                   | mean  | range          | count |
|:----------------------------------:|:-----:|:--------------:|:-----:|
| Regressions ❌ <br /> (primary)    | 1.8%  | [0.3%, 5.0%]   | 10    |
| Regressions ❌ <br /> (secondary)  | 1.0%  | [0.2%, 1.9%]   | 4     |
| Improvements ✅ <br /> (primary)   | -2.7% | [-3.4%, -1.5%] | 3     |
| Improvements ✅ <br /> (secondary) | -     | -              | 0     |
| All ❌✅ (primary)                 | 0.7%  | [-3.4%, 5.0%]  | 13    |

> The perf regression was explained above; it's very small, rustdoc-only, and
> is more than balanced by the large reductions in generated doc size.

https://github.com/rust-lang/rust/pull/116471#issuecomment-1784228010
