Skip to content

(do not merge) Try some inline things with a skipped test - #114446

Closed
tgross35 wants to merge 1 commit into
rust-lang:masterfrom
tgross35:arc-layout-inline
Closed

(do not merge) Try some inline things with a skipped test#114446
tgross35 wants to merge 1 commit into
rust-lang:masterfrom
tgross35:arc-layout-inline

Conversation

@tgross35

@tgross35 tgross35 commented Aug 4, 2023

Copy link
Copy Markdown
Contributor

arcinner_layout_for_value_layout is not currently being inlined, and we can't inline it since it is required by a test. Once figuring out how to rewrite the test we should be able to change this if the performance is worth it.

Zulip discussion: https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Inline.20causing.20failed.20codegen.20test

@rustbot

rustbot commented Aug 4, 2023

Copy link
Copy Markdown
Collaborator

r? @m-ou-se

(rustbot has picked a reviewer for you, use r? to override)

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Aug 4, 2023
@tgross35
tgross35 marked this pull request as draft August 4, 2023 04:01
@oli-obk

oli-obk commented Aug 4, 2023

Copy link
Copy Markdown
Contributor

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Aug 4, 2023
@bors

bors commented Aug 4, 2023

Copy link
Copy Markdown
Collaborator

⌛ Trying commit b24b382 with merge 6e9848822c888a2f47242ff3f527ad23016db6ac...

@bors

bors commented Aug 4, 2023

Copy link
Copy Markdown
Collaborator

☀️ Try build successful - checks-actions
Build commit: 6e9848822c888a2f47242ff3f527ad23016db6ac (6e9848822c888a2f47242ff3f527ad23016db6ac)

1 similar comment
@bors

bors commented Aug 4, 2023

Copy link
Copy Markdown
Collaborator

☀️ Try build successful - checks-actions
Build commit: 6e9848822c888a2f47242ff3f527ad23016db6ac (6e9848822c888a2f47242ff3f527ad23016db6ac)

@rust-timer

This comment has been minimized.

@Noratrieb Noratrieb closed this Aug 4, 2023
@Noratrieb Noratrieb reopened this Aug 4, 2023
@Noratrieb

Noratrieb commented Aug 4, 2023

Copy link
Copy Markdown
Member

oops, misclicked the comment box. I hope I didn't cancel the try and perf builds. It's still in the perf queue so that looks good

What I wanted to say is that try builds don't require tests to pass, they don't test anything

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (6e9848822c888a2f47242ff3f527ad23016db6ac): comparison URL.

Overall result: ✅ improvements - no action needed

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-perf -perf-regression

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
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) - - 0

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
Regressions ❌
(secondary)
1.9% [1.1%, 3.6%] 3
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

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)
3.3% [3.3%, 3.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Binary size

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.3% [0.3%, 0.3%] 10
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.1% [-0.1%, -0.0%] 4
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 0.2% [-0.1%, 0.3%] 14

Bootstrap: 647.584s -> 648.501s (0.14%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Aug 4, 2023
@tgross35

tgross35 commented Aug 4, 2023

Copy link
Copy Markdown
Contributor Author

Eh, that’s not very exciting. Can probably forget about this one

@tgross35 tgross35 closed this Aug 4, 2023
@tgross35
tgross35 deleted the arc-layout-inline branch August 4, 2023 15:35
@Noratrieb

Copy link
Copy Markdown
Member

do you mean that the inline is not worth it? I don't think the compiler allocates that many arcs, it mostly uses Rc so the benchmarks are not representative

@tgross35

tgross35 commented Aug 4, 2023

Copy link
Copy Markdown
Contributor Author

I guess I don't know in that case since I was assuming it's moreso Arc. Rc has a similar rcbox_layout_for_value_layout that I was able to inline here #113156, I guess that might be a contributor to the perf wins in that PR. Also means that RC might not have the regression test for #111603 like Arc does? (the one I disabled here).

If you know a way to fix that test so it's not just counting the function call, I can do that and add the inline as part of #113156. And probably do the same thing for Rc so it's getting tested. I just am not sure how to fix that test

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library 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