Skip to content

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

Closed
lqd wants to merge 2 commits into
rust-lang:masterfrom
lqd:x64-v2-test
Closed

[DO NOT MERGE] default x64 linux target to x64-v2 for perf test#95302
lqd wants to merge 2 commits into
rust-lang:masterfrom
lqd:x64-v2-test

Conversation

@lqd

@lqd lqd commented Mar 25, 2022

Copy link
Copy Markdown
Member

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

r? @ghost

@lqd

lqd commented Mar 25, 2022

Copy link
Copy Markdown
Member Author

@bors try @rust-timer queue

@rust-timer

Copy link
Copy Markdown
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

bors commented Mar 25, 2022

Copy link
Copy Markdown
Collaborator

⌛ Trying commit 5c078dc3ac0f6dd9a136d2241fcc4ba24238c565 with merge c7e2a3ab68a1894d6a01a41078454ee7c52e61e3...

@bors

bors commented Mar 25, 2022

Copy link
Copy Markdown
Collaborator

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

@rust-timer

Copy link
Copy Markdown
Collaborator

Queued c7e2a3ab68a1894d6a01a41078454ee7c52e61e3 with parent 8a0c550, future comparison URL.

@rust-timer

Copy link
Copy Markdown
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

lqd commented Mar 27, 2022

Copy link
Copy Markdown
Member Author

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
Copy Markdown
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

bors commented Mar 27, 2022

Copy link
Copy Markdown
Collaborator

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

@bors

bors commented Mar 27, 2022

Copy link
Copy Markdown
Collaborator

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

@rust-timer

Copy link
Copy Markdown
Collaborator

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

@rust-timer

Copy link
Copy Markdown
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

lqd commented Mar 28, 2022

Copy link
Copy Markdown
Member Author

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
Copy Markdown
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

lqd commented Nov 4, 2022

Copy link
Copy Markdown
Member Author

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

lqd commented Nov 4, 2022

Copy link
Copy Markdown
Member Author

@bors try @rust-timer queue

@rust-timer

Copy link
Copy Markdown
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

bors commented Nov 4, 2022

Copy link
Copy Markdown
Collaborator

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

@bors

bors commented Nov 4, 2022

Copy link
Copy Markdown
Collaborator

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

@rust-timer

Copy link
Copy Markdown
Collaborator

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

@rust-timer

Copy link
Copy Markdown
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

lqd commented Nov 4, 2022

Copy link
Copy Markdown
Member Author

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