-
Notifications
You must be signed in to change notification settings - Fork 154
triage for this week. #1385
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
triage for this week. #1385
Changes from 1 commit
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,179 @@ | ||
# 2022-08-02 Triage Log | ||
|
||
A good week! We had one regression from [#99123](https://github.com/rust-lang/rust/pull/99123) | ||
that could use further study, but we had a huge swath of improvements. The downward trend of the | ||
[performance graph summary](https://perf.rust-lang.org/?start=&end=&kind=percentfromfirst&stat=instructions%3Au) | ||
pnkfelix marked this conversation as resolved.
Show resolved
Hide resolved
|
||
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](https://perf.rust-lang.org/?start=50166d5e5e82ca795306824decbe4ffabcc23d3d&end=792bc5a0102d0973d42183a2b267850bb905236f&absolute=false&stat=instructions%3Au) | ||
|
||
**Summary**: | ||
|
||
| | mean | max | count | | ||
|:----------:|:----:|:---:|:-----:| | ||
| Regressions 😿 <br /> (primary) | 0.4% | 0.7% | 5 | | ||
| Regressions 😿 <br /> (secondary) | 0.6% | 1.1% | 11 | | ||
| Improvements 🎉 <br /> (primary) | -0.8% | -3.3% | 140 | | ||
| Improvements 🎉 <br /> (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](https://github.com/rust-lang/rust/pull/99123) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=8f68c43ca6a6381a4d73f887f112e9fb95769905&end=bd84c73ffe0a54ce2d77c92948a26ffa8fec04a3&stat=instructions:u) | ||
|
||
| | mean | max | count | | ||
|:----------:|:----:|:---:|:-----:| | ||
| Regressions 😿 <br /> (primary) | 0.9% | 1.4% | 11 | | ||
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 | | ||
| Improvements 🎉 <br /> (primary) | N/A | N/A | 0 | | ||
| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 | | ||
| 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](https://github.com/rust-lang/rust/pull/99816) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=da5b546d2e563747b16a16dae83bacf49aa0bf3b&end=2643b16468fda787470340890212591d8bc832b7&stat=instructions:u) | ||
|
||
| | mean | max | count | | ||
|:----------:|:----:|:---:|:-----:| | ||
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | | ||
| Regressions 😿 <br /> (secondary) | 1.0% | 1.0% | 1 | | ||
| Improvements 🎉 <br /> (primary) | -0.2% | -0.2% | 1 | | ||
| Improvements 🎉 <br /> (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](https://github.com/rust-lang/rust/pull/99730) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=3924dac7bb29bc8eb348059c901e8f912399c857&end=211637d0802a1c17d41b414e091e9a8691b26068&stat=instructions:u) | ||
|
||
| | mean | max | count | | ||
|:----------:|:----:|:---:|:-----:| | ||
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | | ||
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 | | ||
| Improvements 🎉 <br /> (primary) | -0.4% | -0.6% | 56 | | ||
| Improvements 🎉 <br /> (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](https://github.com/rust-lang/rust/pull/99944) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=6423ab3a755fed97f75b2361849155d4e996d02f&end=25bb1c13bd472b75ceebee3b8dcf4dcbc431a8be&stat=instructions:u) | ||
|
||
| | mean | max | count | | ||
|:----------:|:----:|:---:|:-----:| | ||
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | | ||
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 | | ||
| Improvements 🎉 <br /> (primary) | -0.6% | -2.9% | 41 | | ||
| Improvements 🎉 <br /> (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](https://github.com/rust-lang/rust/pull/99884) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=1f5d8d49eb6111931091f700d07518cd2b80bc18&end=dcb444af0a417766dde9b7b8f537fa1ba1568daf&stat=instructions:u) | ||
|
||
| | mean | max | count | | ||
|:----------:|:----:|:---:|:-----:| | ||
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | | ||
| Regressions 😿 <br /> (secondary) | N/A | N/A | 0 | | ||
| Improvements 🎉 <br /> (primary) | -0.3% | -0.6% | 42 | | ||
| Improvements 🎉 <br /> (secondary) | -0.5% | -1.2% | 48 | | ||
| All 😿🎉 (primary) | -0.3% | -0.6% | 42 | | ||
|
||
* This was a very *broad* win, where a huge number of benchmarks all improved by a relatively small amount. | ||
* I'm impressed by the [inventiveness shown during PR review](https://github.com/rust-lang/rust/pull/99884#pullrequestreview-1055325175). | ||
|
||
#### Mixed | ||
|
||
Remove remaining uses of box syntax from librustdoc [#99577](https://github.com/rust-lang/rust/pull/99577) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=5dda74a48cd50de10539478c1e0b6699bfdab665&end=3924dac7bb29bc8eb348059c901e8f912399c857&stat=instructions:u) | ||
|
||
| | mean | max | count | | ||
|:----------:|:----:|:---:|:-----:| | ||
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | | ||
| Regressions 😿 <br /> (secondary) | 0.3% | 0.3% | 4 | | ||
| Improvements 🎉 <br /> (primary) | -0.3% | -0.3% | 2 | | ||
| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 | | ||
| 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](https://github.com/rust-lang/rust/pull/99887) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=c907b6f7e0f89c3c4146b585961d2ddcf173584b&end=1202bbaf48a0a919a2e0cfd8b7dce97e8fc3030d&stat=instructions:u) | ||
|
||
| | mean | max | count | | ||
|:----------:|:----:|:---:|:-----:| | ||
| Regressions 😿 <br /> (primary) | 0.3% | 0.3% | 1 | | ||
| Regressions 😿 <br /> (secondary) | 0.2% | 0.2% | 1 | | ||
| Improvements 🎉 <br /> (primary) | -0.3% | -0.4% | 5 | | ||
| Improvements 🎉 <br /> (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](https://github.com/rust-lang/rust/pull/95884) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=fe3342816a282949f014caa05ea2e669ff9d3d3c&end=21de280cccb4eb02ead6bf0af40e2355a9136d6f&stat=instructions:u) | ||
|
||
| | mean | max | count | | ||
|:----------:|:----:|:---:|:-----:| | ||
| Regressions 😿 <br /> (primary) | 0.3% | 0.4% | 16 | | ||
| Regressions 😿 <br /> (secondary) | 0.5% | 0.6% | 9 | | ||
| Improvements 🎉 <br /> (primary) | -0.3% | -0.4% | 7 | | ||
| Improvements 🎉 <br /> (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](https://github.com/rust-lang/rust/pull/99431) [(Comparison Link)](https://perf.rust-lang.org/compare.html?start=9d5cd21a5d4d5325b1f1c9903d000d19e3703e2a&end=9538d2d0f1c708affa36ef8917729efec2e5e0ed&stat=instructions:u) | ||
|
||
| | mean | max | count | | ||
|:----------:|:----:|:---:|:-----:| | ||
| Regressions 😿 <br /> (primary) | N/A | N/A | 0 | | ||
| Regressions 😿 <br /> (secondary) | 1.5% | 1.5% | 2 | | ||
| Improvements 🎉 <br /> (primary) | -0.9% | -1.4% | 2 | | ||
| Improvements 🎉 <br /> (secondary) | N/A | N/A | 0 | | ||
| 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 | ||
|
||
- [#99792 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/99792) | ||
- [#99520 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/99520) | ||
- [#99251 Upgrade indexmap and thorin-dwp to use hashbrown 0.12](https://github.com/rust-lang/rust/pull/99251) | ||
- [#99231 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/99231) | ||
- [#99210 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/99210) | ||
- [#99126 remove allow(rustc::potential_query_instability) in rustc_span](https://github.com/rust-lang/rust/pull/99126) | ||
- [#99123 proc_macro: use crossbeam channels for the proc_macro cross-thread bridge](https://github.com/rust-lang/rust/pull/99123) | ||
- [#99047 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/99047) | ||
- [#99014 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/99014) | ||
- [#98987 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/98987) | ||
- [#98957 don't allow ZST in ScalarInt ](https://github.com/rust-lang/rust/pull/98957) | ||
- [#98904 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/98904) | ||
- [#98874 Rollup of 5 pull requests](https://github.com/rust-lang/rust/pull/98874) | ||
- [#98612 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/98612) | ||
- [#98591 Rollup of 9 pull requests](https://github.com/rust-lang/rust/pull/98591) | ||
- [#98178 btree: avoid forcing the allocator to be a reference](https://github.com/rust-lang/rust/pull/98178) | ||
- [#98145 Pull Derefer before ElaborateDrops](https://github.com/rust-lang/rust/pull/98145) | ||
- [#97786 Account for `-Z simulate-remapped-rust-src-base` when resolving remapped paths](https://github.com/rust-lang/rust/pull/97786) | ||
- [#97019 Transition to valtrees pt1](https://github.com/rust-lang/rust/pull/97019) | ||
- [#97004 Proc macro tweaks](https://github.com/rust-lang/rust/pull/97004) | ||
- [#96883 Add EarlyBinder](https://github.com/rust-lang/rust/pull/96883) | ||
- [#96825 Retire `ItemLikeVisitor` trait](https://github.com/rust-lang/rust/pull/96825) | ||
- [#96010 Implement `core::ptr::Unique` on top of `NonNull`](https://github.com/rust-lang/rust/pull/96010) | ||
- [#95990 Rollup of 7 pull requests](https://github.com/rust-lang/rust/pull/95990) | ||
- [#95956 Support unstable moves via stable in unstable items](https://github.com/rust-lang/rust/pull/95956) | ||
- [#95899 rustc_metadata: Do not encode unnecessary module children](https://github.com/rust-lang/rust/pull/95899) | ||
- [#95893 Respect -Z verify-llvm-ir and other flags that add extra passes when combined with -C no-prepopulate-passes in the new LLVM Pass Manager.](https://github.com/rust-lang/rust/pull/95893) | ||
- [#95835 Rollup of 8 pull requests](https://github.com/rust-lang/rust/pull/95835) | ||
- [#95794 `parse_tt`: a few more tweaks](https://github.com/rust-lang/rust/pull/95794) | ||
- [#95742 Rollup of 6 pull requests](https://github.com/rust-lang/rust/pull/95742) |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.