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

[DO NOT MERGE] default x64 linux target to x64-v2 for perf test #95302

Closed
wants to merge 2 commits into from

Conversation

lqd
Copy link
Member

@lqd lqd commented Mar 25, 2022

Another perf test like #90440, but on x64-v2.

r? @ghost

@lqd
Copy link
Member Author

lqd commented Mar 25, 2022

@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 Mar 25, 2022
@bors
Copy link
Collaborator

bors commented Mar 25, 2022

⌛ Trying commit 5c078dc3ac0f6dd9a136d2241fcc4ba24238c565 with merge c7e2a3ab68a1894d6a01a41078454ee7c52e61e3...

@bors
Copy link
Collaborator

bors commented Mar 25, 2022

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

@rust-timer
Copy link
Collaborator

Queued c7e2a3ab68a1894d6a01a41078454ee7c52e61e3 with parent 8a0c550, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (c7e2a3ab68a1894d6a01a41078454ee7c52e61e3): comparison url.

Summary: This benchmark run shows 164 relevant improvements 🎉 to instruction counts.

  • Arithmetic mean of relevant improvements: -0.4%
  • Largest improvement in instruction counts: -0.9% on full builds of externs debug

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 led to changes in compiler perf.

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

@rustbot rustbot added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Mar 27, 2022
@lqd
Copy link
Member Author

lqd commented Mar 27, 2022

Even if we somehow were able to bump to v2 minimum or distribute 2 x64 versions, it would not super interesting by itself. It could help with using SIMD in LEB128 encoding/decoding, or parsing (via pshufb), etc but there are no worthwhile perf gains due to the higher micro arch level itself (which makes sense, they should come mostly from autovectorization in this context, and that would start having noticeable improvements with the higher lane counts of AVX).

Might as well have up-to-date x64-v3 results, on the new benchmarks and new LLVM, so:
@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 Mar 27, 2022
@bors
Copy link
Collaborator

bors commented Mar 27, 2022

⌛ Trying commit 3598f3bc2a09fbbb5272d0a4f51b42723ab7e7ae with merge 0c6a6f5061902626d38e28f946782927a6cc3897...

@bors
Copy link
Collaborator

bors commented Mar 27, 2022

☀️ Try build successful - checks-actions
Build commit: 0c6a6f5061902626d38e28f946782927a6cc3897 (0c6a6f5061902626d38e28f946782927a6cc3897)

@rust-timer
Copy link
Collaborator

Queued 0c6a6f5061902626d38e28f946782927a6cc3897 with parent 185a3f0, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (0c6a6f5061902626d38e28f946782927a6cc3897): comparison url.

Summary: This benchmark run shows 448 relevant improvements 🎉 to instruction counts.

  • Arithmetic mean of relevant improvements: -1.6%
  • Largest improvement in instruction counts: -3.6% on full builds of externs debug

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 led to changes in compiler perf.

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

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Mar 28, 2022
@lqd
Copy link
Member Author

lqd commented Mar 28, 2022

cc @nnethercote

@lqd lqd closed this Mar 28, 2022
@lqd lqd deleted the x64-v2-test branch March 28, 2022 06:07
@nnethercote
Copy link
Contributor

So v2 has lots of 0.3% to 0.5% wins, while v3 has lots of 1%-3.5% wins.

@lqd lqd restored the x64-v2-test branch November 4, 2022 12:20
@lqd
Copy link
Member Author

lqd commented Nov 4, 2022

We'd like to have up-to-date numbers for this after the recent LTO changes, so I'll reopen this for a new perf run soon.

@lqd lqd reopened this Nov 4, 2022
@rustbot rustbot added the A-testsuite Area: The testsuite used to check the correctness of rustc label Nov 4, 2022
@rustbot rustbot added the T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. label Nov 4, 2022
@lqd
Copy link
Member Author

lqd commented Nov 4, 2022

@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 Nov 4, 2022
@bors
Copy link
Collaborator

bors commented Nov 4, 2022

⌛ Trying commit 39e3c52 with merge 18256ff35e7885ae108986756552f14a16d240d0...

@bors
Copy link
Collaborator

bors commented Nov 4, 2022

☀️ Try build successful - checks-actions
Build commit: 18256ff35e7885ae108986756552f14a16d240d0 (18256ff35e7885ae108986756552f14a16d240d0)

@rust-timer
Copy link
Collaborator

Queued 18256ff35e7885ae108986756552f14a16d240d0 with parent 2efb0cd, future comparison URL.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (18256ff35e7885ae108986756552f14a16d240d0): 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-review -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)
-1.7% [-3.0%, -0.5%] 219
Improvements ✅
(secondary)
-1.8% [-4.3%, -0.3%] 182
All ❌✅ (primary) -1.7% [-3.0%, -0.5%] 219

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.7% [0.7%, 0.7%] 1
Regressions ❌
(secondary)
3.5% [2.8%, 4.4%] 3
Improvements ✅
(primary)
-0.6% [-0.7%, -0.5%] 3
Improvements ✅
(secondary)
-5.4% [-5.4%, -5.4%] 1
All ❌✅ (primary) -0.3% [-0.7%, 0.7%] 4

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)
-2.3% [-4.6%, -0.7%] 156
Improvements ✅
(secondary)
-3.0% [-8.8%, -1.2%] 111
All ❌✅ (primary) -2.3% [-4.6%, -0.7%] 156

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Nov 4, 2022
@lqd
Copy link
Member Author

lqd commented Nov 4, 2022

We should have the data we need, so I'll close this one again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants