Skip to content
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

Rollup of 3 pull requests #118982

Merged
merged 7 commits into from
Dec 15, 2023
Merged

Rollup of 3 pull requests #118982

merged 7 commits into from
Dec 15, 2023

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Zalathar and others added 7 commits December 15, 2023 17:17
Add some reasons to the panics, and use more exhaustive matches.
Annotate some bugs

Gives a semi-helpful message to some `bug!()`/`unreachable!()`/`panic!()`. This also works around some other bugs/panics/etc that weren't needed, and also makes some of them into `span_bug!`s so they also have a useful span.

Note to reviewer: best to disable whitespace when comparing for some cases where indentation changed.

cc rust-lang#118955
…rors

coverage: Use `Waker::noop` in async tests

Inspired by rust-lang#118948.

---

`@rustbot` label +A-code-coverage
…m-abi, r=davidtwco

Annotate panic! reasons during enum layout

Add some reasons to the panics, and use more exhaustive matches.

Also see: rust-lang#118955
@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver) rollup A PR which is a rollup labels Dec 15, 2023
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Dec 15, 2023

📌 Commit 88a9619 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Dec 15, 2023
@bors
Copy link
Contributor

bors commented Dec 15, 2023

⌛ Testing commit 88a9619 with merge e6707df...

@bors
Copy link
Contributor

bors commented Dec 15, 2023

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing e6707df to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Dec 15, 2023
@bors bors merged commit e6707df into rust-lang:master Dec 15, 2023
12 checks passed
@rustbot rustbot added this to the 1.76.0 milestone Dec 15, 2023
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#118962 Annotate some bugs 50c2fd85cb3fae0c99f752370fdbed97e4890bba (link)
#118969 coverage: Use Waker::noop in async tests e1d164121f796710c3f8c78d3fee62d7f2ebc2da (link)
#118974 Annotate panic! reasons during enum layout 17bc1b7e6a629d2f3b474a6d6dc402c60018192d (link)

previous master: 4d1bd0db7f

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (e6707df): comparison URL.

Overall result: ❌ regressions - ACTION NEEDED

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression
cc @rust-lang/wg-compiler-performance

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.8% [0.8%, 0.9%] 4
Regressions ❌
(secondary)
0.4% [0.0%, 0.8%] 32
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.8% [0.8%, 0.9%] 4

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
3.3% [3.3%, 3.3%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-1.1% [-1.6%, -0.5%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.4% [-1.6%, 3.3%] 3

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.4% [0.4%, 0.4%] 1
Regressions ❌
(secondary)
2.5% [2.5%, 2.5%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.4% [0.4%, 0.4%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 674.139s -> 673.805s (-0.05%)
Artifact size: 312.37 MiB -> 312.56 MiB (0.06%)

@rustbot rustbot added the perf-regression Performance regression. label Dec 15, 2023
@workingjubilee
Copy link
Member

@rust-timer build 50c2fd8

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (50c2fd8): comparison URL.

Overall result: ❌ regressions - ACTION NEEDED

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.8% [0.8%, 0.9%] 4
Regressions ❌
(secondary)
0.4% [0.0%, 0.8%] 34
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.8% [0.8%, 0.9%] 4

Max RSS (memory usage)

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.8% [0.8%, 0.8%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.9% [-1.2%, -0.6%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.4% [-1.2%, 0.8%] 3

Cycles

Results

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.6% [-0.8%, -0.5%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.6% [-0.8%, -0.5%] 2

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 674.139s -> 672.369s (-0.26%)
Artifact size: 312.37 MiB -> 312.56 MiB (0.06%)

@workingjubilee
Copy link
Member

workingjubilee commented Dec 16, 2023

cc @compiler-errors It seems your annotation PR in #118962 has caused a nontrivial perf regression. On the other hand, the only "real world" bench affected is "Hello, world!", and all the other ones are stress benches, so perhaps this is more artificial than it seems. Either way, I suspect you'd have a better sense for evaluating this.

@compiler-errors
Copy link
Member

Huh, I don't expect to have done anything in that PR resulting in worse performance...

@Kobzol
Copy link
Contributor

Kobzol commented Dec 16, 2023

I think that this is just a continuation of the recent noise spikes in some benchmarks. CC @lqd who can best recognize these situations.
image

@workingjubilee
Copy link
Member

...Surely there is some sort of statistical method to isolate "noise" like this?

@lqd
Copy link
Member

lqd commented Dec 16, 2023

I think that this is just a continuation of the recent noise spikes in some benchmarks. CC @lqd who can best recognize these situations.

I also believe it's noise. My theory is that the noise threshold gets lower due to a period of lesser noise, and when the usual noise comes back this is seen as a regression. It's what I imagine the graph shows, but we probably would be able to tell better if we saved a history of the threshold, and visualized it as a shaded range on the above graph.

edit: the changes here went back to their steady-state in the PR that was merged immediately afterwards. Marking as triaged due to noise.

@rustbot label: +perf-regression-triaged

@rustbot rustbot added the perf-regression-triaged The performance regression has been triaged. label Dec 16, 2023
@matthiaskrgr matthiaskrgr deleted the rollup-xoraxf4 branch March 16, 2024 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. perf-regression-triaged The performance regression has been triaged. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. WG-trait-system-refactor The Rustc Trait System Refactor Initiative (-Znext-solver)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants