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

Box the MacCall in various types. #100564

Merged
merged 1 commit into from
Aug 20, 2022
Merged

Conversation

nnethercote
Copy link
Contributor

@rustbot rustbot added the T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. label Aug 15, 2022
@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 15, 2022
@nnethercote
Copy link
Contributor Author

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

Awaiting bors try build completion.

@rustbot label: +S-waiting-on-perf

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Aug 15, 2022
@bors
Copy link
Contributor

bors commented Aug 15, 2022

⌛ Trying commit 1f3cc4c5bbec05d41b2778f41797c62f8349f262 with merge 8cfb9ad092a50c6cf686d19bfe5682e7bfcae039...

@bors
Copy link
Contributor

bors commented Aug 15, 2022

☀️ Try build successful - checks-actions
Build commit: 8cfb9ad092a50c6cf686d19bfe5682e7bfcae039 (8cfb9ad092a50c6cf686d19bfe5682e7bfcae039)

@rust-timer
Copy link
Collaborator

Queued 8cfb9ad092a50c6cf686d19bfe5682e7bfcae039 with parent 80ed61f, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (8cfb9ad092a50c6cf686d19bfe5682e7bfcae039): comparison url.

Instruction count

  • Primary benchmarks: ❌ relevant regression found
  • Secondary benchmarks: no relevant changes found
mean1 max count2
Regressions ❌
(primary)
0.8% 0.8% 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.8% 0.8% 1

Max RSS (memory usage)

Results
  • Primary benchmarks: mixed results
  • Secondary benchmarks: ❌ relevant regression found
mean1 max count2
Regressions ❌
(primary)
1.6% 2.1% 4
Regressions ❌
(secondary)
1.8% 1.8% 1
Improvements ✅
(primary)
-0.5% -0.5% 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 1.2% 2.1% 5

Cycles

Results
  • Primary benchmarks: ✅ relevant improvement found
  • Secondary benchmarks: mixed results
mean1 max count2
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
5.9% 5.9% 1
Improvements ✅
(primary)
-3.1% -3.1% 1
Improvements ✅
(secondary)
-1.8% -1.8% 1
All ❌✅ (primary) -3.1% -3.1% 1

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

@bors rollup=never
@rustbot label: +S-waiting-on-review -S-waiting-on-perf -perf-regression

Footnotes

  1. the arithmetic mean of the percent change 2 3

  2. number of relevant changes 2 3

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Aug 15, 2022
@spastorino
Copy link
Member

@nnethercote by looking at the changes it did look good to me but by looking at perf results I'm not sure what were you expecting to see but on primary and secondary benchmarks doesn't seem to be big wins. Although I see some moderate improvements on bootstrapping.

Anyway, what are your thoughts Nick?.

@nnethercote
Copy link
Contributor Author

It's performance neutral at the moment. There are two reasons I want to merge this. First, we just tend to box larger structs in the AST anyway. Second, Expr is the by far the most important AST type, instantiated the most, and while this change alone isn't enough to shrink it, it is necessary, because MacCall is one of several equally large ExprKind variants.

@nnethercote
Copy link
Contributor Author

Also, Ty is pretty important and this is step one (of 2) for shrinking it from 96 bytes to 64 bytes.

@nnethercote
Copy link
Contributor Author

I rebased to fix the conflicts.

@bors
Copy link
Contributor

bors commented Aug 16, 2022

☔ The latest upstream changes (presumably #100441) made this pull request unmergeable. Please resolve the merge conflicts.

@spastorino
Copy link
Member

ohh merge conflicts again, r=me after you fix those.

@nnethercote
Copy link
Contributor Author

I fixed the conflicts.

@bors r=spastorino

@bors
Copy link
Contributor

bors commented Aug 16, 2022

📌 Commit eafd0df has been approved by spastorino

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 Aug 16, 2022
@bors
Copy link
Contributor

bors commented Aug 19, 2022

⌛ Testing commit eafd0df with merge 11edee4ef66f16853d0ee0ab305cb9f82848b70e...

@bors
Copy link
Contributor

bors commented Aug 19, 2022

💥 Test timed out

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 19, 2022
@rust-log-analyzer
Copy link
Collaborator

A job failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)

@spastorino
Copy link
Member

@bors retry

@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 Aug 19, 2022
@bors
Copy link
Contributor

bors commented Aug 20, 2022

⌛ Testing commit eafd0df with merge dd01122...

@bors
Copy link
Contributor

bors commented Aug 20, 2022

☀️ Test successful - checks-actions
Approved by: spastorino
Pushing dd01122 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 20, 2022
@bors bors merged commit dd01122 into rust-lang:master Aug 20, 2022
@rustbot rustbot added this to the 1.65.0 milestone Aug 20, 2022
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (dd01122): comparison url.

Instruction count

  • Primary benchmarks: ❌ relevant regression found
  • Secondary benchmarks: ❌ relevant regression found
mean1 max count2
Regressions ❌
(primary)
0.9% 0.9% 1
Regressions ❌
(secondary)
0.4% 0.4% 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.9% 0.9% 1

Max RSS (memory usage)

Results
  • Primary benchmarks: mixed results
  • Secondary benchmarks: mixed results
mean1 max count2
Regressions ❌
(primary)
1.5% 1.6% 2
Regressions ❌
(secondary)
1.8% 1.9% 3
Improvements ✅
(primary)
-3.2% -3.4% 2
Improvements ✅
(secondary)
-2.5% -2.5% 1
All ❌✅ (primary) -0.8% -3.4% 4

Cycles

Results
  • Primary benchmarks: ✅ relevant improvement found
  • Secondary benchmarks: ✅ relevant improvement found
mean1 max count2
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-3.1% -3.1% 1
Improvements ✅
(secondary)
-2.7% -2.7% 1
All ❌✅ (primary) -3.1% -3.1% 1

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

@rustbot label: -perf-regression

Footnotes

  1. the arithmetic mean of the percent change 2 3

  2. number of relevant changes 2 3

@nnethercote nnethercote deleted the box-ast-MacCall branch August 21, 2022 03:55
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. 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.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants