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

[WIP] Try using call-site aware IR PGO for LLVM #97153

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

Kobzol
Copy link
Contributor

@Kobzol Kobzol commented May 18, 2022

LLVM has a second mode of PGO, called call-site aware PGO. Let's try if and how it works.

r? @ghost

@Kobzol
Copy link
Contributor Author

@Kobzol Kobzol commented May 18, 2022

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 18, 2022

Awaiting bors try build completion.

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

@rustbot rustbot added the S-waiting-on-perf label May 18, 2022
@bors
Copy link
Contributor

@bors bors commented May 18, 2022

Trying commit 15da36b with merge 8851e36...

bors added a commit to rust-lang-ci/rust that referenced this issue May 18, 2022
[WIP] Try using call-site aware IR PGO for LLVM

LLVM has a second mode of PGO, called call-site aware PGO. Let's try if and how it works.

r? `@ghost`
@bors
Copy link
Contributor

@bors bors commented May 18, 2022

💔 Test failed - checks-actions

@bors bors added the S-waiting-on-author label May 18, 2022
@rust-log-analyzer

This comment has been minimized.

@Kobzol
Copy link
Contributor Author

@Kobzol Kobzol commented May 19, 2022

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 19, 2022

Awaiting bors try build completion.

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

@bors
Copy link
Contributor

@bors bors commented May 19, 2022

Trying commit d183f76 with merge 8730232...

bors added a commit to rust-lang-ci/rust that referenced this issue May 19, 2022
[WIP] Try using call-site aware IR PGO for LLVM

LLVM has a second mode of PGO, called call-site aware PGO. Let's try if and how it works.

r? `@ghost`
@bors
Copy link
Contributor

@bors bors commented May 19, 2022

☀️ Try build successful - checks-actions
Build commit: 8730232 (87302328f42a41865f79dd5d01857803704966db)

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 19, 2022

Queued 8730232 with parent c067287, future comparison URL.

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 19, 2022

Finished benchmarking commit (8730232): comparison url.

Instruction count

  • Primary benchmarks: 😿 relevant regressions found
  • Secondary benchmarks: 😿 relevant regressions found
Regressions 😿
(primary)
Regressions 😿
(secondary)
Improvements 🎉
(primary)
Improvements 🎉
(secondary)
All 😿 🎉
(primary)
count1 124 82 0 0 124
mean2 7.6% 6.0% N/A N/A 7.6%
max 18.1% 16.6% N/A N/A 18.1%

Max RSS (memory usage)

Results
  • Primary benchmarks: 😿 relevant regressions found
  • Secondary benchmarks: 😿 relevant regressions found
Regressions 😿
(primary)
Regressions 😿
(secondary)
Improvements 🎉
(primary)
Improvements 🎉
(secondary)
All 😿 🎉
(primary)
count1 231 256 1 0 232
mean2 6.6% 10.8% -1.1% N/A 6.6%
max 22.8% 25.1% -1.1% N/A 22.8%

Cycles

Results
  • Primary benchmarks: 😿 relevant regressions found
  • Secondary benchmarks: 😿 relevant regressions found
Regressions 😿
(primary)
Regressions 😿
(secondary)
Improvements 🎉
(primary)
Improvements 🎉
(secondary)
All 😿 🎉
(primary)
count1 100 75 1 0 101
mean2 12.3% 9.2% -1.7% N/A 12.1%
max 23.5% 26.5% -1.7% N/A 23.5%

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.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

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

Footnotes

  1. number of relevant changes 2 3

  2. the arithmetic mean of the percent change 2 3

@rustbot rustbot added perf-regression S-waiting-on-review and removed S-waiting-on-perf labels May 19, 2022
@Kobzol
Copy link
Contributor Author

@Kobzol Kobzol commented May 20, 2022

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 20, 2022

Awaiting bors try build completion.

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

@rustbot rustbot added the S-waiting-on-perf label May 20, 2022
@bors
Copy link
Contributor

@bors bors commented May 20, 2022

Trying commit 3736e6b with merge cbed134...

bors added a commit to rust-lang-ci/rust that referenced this issue May 20, 2022
[WIP] Try using call-site aware IR PGO for LLVM

LLVM has a second mode of PGO, called call-site aware PGO. Let's try if and how it works.

r? `@ghost`
@bors
Copy link
Contributor

@bors bors commented May 20, 2022

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

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 20, 2022

Queued cbed134 with parent b5caa5a, future comparison URL.

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 20, 2022

Finished benchmarking commit (cbed134): comparison url.

Instruction count

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

Max RSS (memory usage)

Results
  • Primary benchmarks: 😿 relevant regressions found
  • Secondary benchmarks: 😿 relevant regressions found
Regressions 😿
(primary)
Regressions 😿
(secondary)
Improvements 🎉
(primary)
Improvements 🎉
(secondary)
All 😿 🎉
(primary)
count1 5 14 0 1 5
mean2 1.3% 1.4% N/A -3.5% 1.3%
max 1.5% 2.2% N/A -3.5% 1.5%

Cycles

Results
  • Primary benchmarks: mixed results
  • Secondary benchmarks: 😿 relevant regression found
Regressions 😿
(primary)
Regressions 😿
(secondary)
Improvements 🎉
(primary)
Improvements 🎉
(secondary)
All 😿 🎉
(primary)
count1 1 1 1 0 2
mean2 2.1% 2.3% -1.0% N/A 0.5%
max 2.1% 2.3% -1.0% N/A 2.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. number of relevant changes 2

  2. the arithmetic mean of the percent change 2

@rustbot rustbot removed S-waiting-on-perf perf-regression labels May 20, 2022
@Kobzol
Copy link
Contributor Author

@Kobzol Kobzol commented May 21, 2022

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 21, 2022

Awaiting bors try build completion.

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

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 21, 2022

Queued 4f28145 with parent 3b64fe9, future comparison URL.

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 21, 2022

Finished benchmarking commit (4f28145): comparison url.

Instruction count

  • Primary benchmarks: 😿 relevant regression found
  • Secondary benchmarks: no relevant changes found
Regressions 😿
(primary)
Regressions 😿
(secondary)
Improvements 🎉
(primary)
Improvements 🎉
(secondary)
All 😿 🎉
(primary)
count1 1 0 0 0 1
mean2 0.4% N/A N/A N/A 0.4%
max 0.4% N/A N/A N/A 0.4%

Max RSS (memory usage)

Results
  • Primary benchmarks: 😿 relevant regressions found
  • Secondary benchmarks: 😿 relevant regressions found
Regressions 😿
(primary)
Regressions 😿
(secondary)
Improvements 🎉
(primary)
Improvements 🎉
(secondary)
All 😿 🎉
(primary)
count1 16 52 0 0 16
mean2 1.5% 1.7% N/A N/A 1.5%
max 3.0% 4.9% N/A N/A 3.0%

Cycles

Results
  • Primary benchmarks: 🎉 relevant improvements found
  • Secondary benchmarks: no relevant changes found
Regressions 😿
(primary)
Regressions 😿
(secondary)
Improvements 🎉
(primary)
Improvements 🎉
(secondary)
All 😿 🎉
(primary)
count1 0 0 21 0 21
mean2 N/A N/A -1.9% N/A -1.9%
max N/A N/A -2.5% N/A -2.5%

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. number of relevant changes 2 3

  2. the arithmetic mean of the percent change 2 3

@rustbot rustbot added S-waiting-on-review and removed S-waiting-on-perf labels May 21, 2022
@Kobzol
Copy link
Contributor Author

@Kobzol Kobzol commented May 21, 2022

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 21, 2022

Awaiting bors try build completion.

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

@rustbot rustbot added the S-waiting-on-perf label May 21, 2022
@bors
Copy link
Contributor

@bors bors commented May 21, 2022

Trying commit 582e9bc with merge caeb6dc...

bors added a commit to rust-lang-ci/rust that referenced this issue May 21, 2022
[WIP] Try using call-site aware IR PGO for LLVM

LLVM has a second mode of PGO, called call-site aware PGO. Let's try if and how it works.

r? `@ghost`
@bors
Copy link
Contributor

@bors bors commented May 21, 2022

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

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 21, 2022

Queued caeb6dc with parent 3b9cf89, future comparison URL.

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented May 21, 2022

Finished benchmarking commit (caeb6dc): comparison url.

Instruction count

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

Max RSS (memory usage)

Results
  • Primary benchmarks: 😿 relevant regressions found
  • Secondary benchmarks: 😿 relevant regressions found
Regressions 😿
(primary)
Regressions 😿
(secondary)
Improvements 🎉
(primary)
Improvements 🎉
(secondary)
All 😿 🎉
(primary)
count1 26 54 0 0 26
mean2 1.5% 1.7% N/A N/A 1.5%
max 2.3% 3.6% N/A N/A 2.3%

Cycles

Results
  • Primary benchmarks: 🎉 relevant improvements found
  • Secondary benchmarks: 🎉 relevant improvements found
Regressions 😿
(primary)
Regressions 😿
(secondary)
Improvements 🎉
(primary)
Improvements 🎉
(secondary)
All 😿 🎉
(primary)
count1 0 0 28 2 28
mean2 N/A N/A -2.3% -2.4% -2.3%
max N/A N/A -3.8% -3.0% -3.8%

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. number of relevant changes 2

  2. the arithmetic mean of the percent change 2

@rustbot rustbot removed the S-waiting-on-perf label May 21, 2022
@Kobzol
Copy link
Contributor Author

@Kobzol Kobzol commented Jun 10, 2022

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented Jun 10, 2022

Awaiting bors try build completion.

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

@rustbot rustbot added the S-waiting-on-perf label Jun 10, 2022
@bors
Copy link
Contributor

@bors bors commented Jun 10, 2022

Trying commit 93ff904 with merge d3b259f...

bors added a commit to rust-lang-ci/rust that referenced this issue Jun 10, 2022
[WIP] Try using call-site aware IR PGO for LLVM

LLVM has a second mode of PGO, called call-site aware PGO. Let's try if and how it works.

r? `@ghost`
@Kobzol
Copy link
Contributor Author

@Kobzol Kobzol commented Jul 3, 2022

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented Jul 3, 2022

Awaiting bors try build completion.

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

@bors
Copy link
Contributor

@bors bors commented Jul 3, 2022

Trying commit 44ad613 with merge 731282f819829b43dccdc7437b204705b7aec048...

bors added a commit to rust-lang-ci/rust that referenced this issue Jul 3, 2022
[WIP] Try using call-site aware IR PGO for LLVM

LLVM has a second mode of PGO, called call-site aware PGO. Let's try if and how it works.

r? `@ghost`
@bors
Copy link
Contributor

@bors bors commented Jul 3, 2022

☀️ Try build successful - checks-actions
Build commit: 731282f (731282f819829b43dccdc7437b204705b7aec048)

@Kobzol
Copy link
Contributor Author

@Kobzol Kobzol commented Jul 7, 2022

@bors try @rust-timer queue

@rust-timer
Copy link
Collaborator

@rust-timer rust-timer commented Jul 7, 2022

Awaiting bors try build completion.

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

@bors
Copy link
Contributor

@bors bors commented Jul 7, 2022

Trying commit 44ad613 with merge bcd41abefbf14dc1eec130e985171a28a4ccbcd2...

bors added a commit to rust-lang-ci/rust that referenced this issue Jul 7, 2022
[WIP] Try using call-site aware IR PGO for LLVM

LLVM has a second mode of PGO, called call-site aware PGO. Let's try if and how it works.

r? `@ghost`
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
S-waiting-on-author S-waiting-on-perf S-waiting-on-review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants