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

test the parallel compiler #109776

Closed
wants to merge 11 commits into from
Closed

Conversation

SparrowLii
Copy link
Member

@SparrowLii SparrowLii commented Mar 30, 2023

part of #101566
This test the perf of parallel compiler with some optimizations

@rustbot
Copy link
Collaborator

rustbot commented Mar 30, 2023

r? @TaKO8Ki

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

@rustbot rustbot added A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Mar 30, 2023
@SparrowLii
Copy link
Member Author

@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 Mar 30, 2023
@bors
Copy link
Contributor

bors commented Mar 30, 2023

⌛ Trying commit 212a27b6b0a1187d53c3f3f75bf077763f121af1 with merge 61e9929047278407ffed00a719c89e50d69b050f...

@SparrowLii
Copy link
Member Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented Mar 30, 2023

⌛ Trying commit edff88ffe366e0fb4ef6adcf7790abe263be960e with merge 6a34f31e87265a990eb4cd9cecf16f0f9d8b6ece...

@bors
Copy link
Contributor

bors commented Mar 30, 2023

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

@rust-timer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (6a34f31e87265a990eb4cd9cecf16f0f9d8b6ece): comparison URL.

Overall result: ❌✅ regressions and improvements - 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.

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-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)
2.3% [0.4%, 6.9%] 187
Regressions ❌
(secondary)
2.7% [0.4%, 6.4%] 206
Improvements ✅
(primary)
-27.5% [-87.4%, -6.7%] 15
Improvements ✅
(secondary)
-17.3% [-33.8%, -8.0%] 3
All ❌✅ (primary) 0.1% [-87.4%, 6.9%] 202

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)
3.1% [0.8%, 6.8%] 79
Regressions ❌
(secondary)
4.0% [1.2%, 8.4%] 224
Improvements ✅
(primary)
-7.4% [-23.0%, -1.9%] 9
Improvements ✅
(secondary)
-2.1% [-2.3%, -1.9%] 2
All ❌✅ (primary) 2.0% [-23.0%, 6.8%] 88

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)
4.8% [0.7%, 32.7%] 200
Regressions ❌
(secondary)
5.3% [0.9%, 15.7%] 214
Improvements ✅
(primary)
-23.3% [-79.0%, -4.7%] 15
Improvements ✅
(secondary)
-15.4% [-34.0%, -5.3%] 3
All ❌✅ (primary) 2.8% [-79.0%, 32.7%] 215

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Mar 31, 2023
@SparrowLii
Copy link
Member Author

In order to prevent the impact of noise on walltime, let's test again

@SparrowLii
Copy link
Member Author

@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 Mar 31, 2023
@bors
Copy link
Contributor

bors commented Mar 31, 2023

⌛ Trying commit c4c4a8d with merge 9b600a8d101ece691d5fc0574df88d25f8901f56...

@SparrowLii
Copy link
Member Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented May 18, 2023

⌛ Trying commit fd51e35 with merge d950e1798934c2f6415b99e22ac71994be8f83c4...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Contributor

bors commented May 18, 2023

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

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (d950e1798934c2f6415b99e22ac71994be8f83c4): comparison URL.

Overall result: ❌ regressions - 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.

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

Warning ⚠: The following benchmark(s) failed to build:

  • issue-88862
  • serde_derive-1.0.136

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)
4.1% [0.6%, 14.6%] 230
Regressions ❌
(secondary)
4.7% [0.7%, 15.3%] 245
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 4.1% [0.6%, 14.6%] 230

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)
7.9% [1.1%, 36.4%] 238
Regressions ❌
(secondary)
7.6% [1.5%, 24.2%] 249
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.3% [-2.3%, -2.3%] 1
All ❌✅ (primary) 7.9% [1.1%, 36.4%] 238

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)
14.4% [1.2%, 73.0%] 231
Regressions ❌
(secondary)
17.1% [1.5%, 78.2%] 246
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 14.4% [1.2%, 73.0%] 231

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.0% [0.0%, 0.0%] 1
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.3% [-0.3%, -0.3%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.1% [-0.3%, 0.0%] 2

Bootstrap: 645.339s -> 672.129s (4.15%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 18, 2023
@SparrowLii
Copy link
Member Author

@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 May 18, 2023
@bors
Copy link
Contributor

bors commented May 18, 2023

⌛ Trying commit 0ed54d5 with merge 2354ebd53732be5d62fc44ea9c49b197e6a39792...

@rust-log-analyzer
Copy link
Collaborator

The job mingw-check-tidy failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v3' (SHA:8e5e7e5ab8b370d6c329ec480221332ada57f0ab)
Download action repository 'rust-lang/simpleinfra@master' (SHA:af9a3f1b7e12a54c737d8aa371acc8d05cb83a8f)
Complete job name: PR - mingw-check-tidy
git config --global core.autocrlf false
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
  CI_JOB_NAME: mingw-check-tidy
---
Building wheels for collected packages: reuse
  Building wheel for reuse (pyproject.toml): started
  Building wheel for reuse (pyproject.toml): finished with status 'done'
  Created wheel for reuse: filename=reuse-1.1.0-cp310-cp310-manylinux_2_35_x86_64.whl size=180115 sha256=c3e1cf75e5aea7348ad201d16633573bc9f3aa58c8e29a6ca459f306300d6c9d
  Stored in directory: /tmp/pip-ephem-wheel-cache-1dpf8zp6/wheels/c2/3c/b9/1120c2ab4bd82694f7e6f0537dc5b9a085c13e2c69a8d0c76d
Installing collected packages: boolean-py, binaryornot, setuptools, reuse, python-debian, markupsafe, license-expression, jinja2, chardet
  Attempting uninstall: setuptools
    Found existing installation: setuptools 59.6.0
    Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
---
Successfully tagged rust-ci:latest
Built container sha256:aeec8d10bfa302d0884762d016d34f88a906cb6d468faabfccc9a17ce6186882
Uploading finished image to https://ci-caches.rust-lang.org/docker/e51156f19850ce886cec818e46dc2a021e0aa7c270d15673e8fe74cd8522fc8ac3995109aebb688ee49ed586735ed4cf5f8c06d44c48298fa09c35ae4b082281

<botocore.awsrequest.AWSRequest object at 0x7f93248a7a50>
gzip: stdout: Broken pipe
xargs: docker: terminated by signal 13
[CI_JOB_NAME=mingw-check-tidy]
[CI_JOB_NAME=mingw-check-tidy]
---
   Compiling tidy v0.1.0 (/checkout/src/tools/tidy)
    Finished release [optimized] target(s) in 16.65s
##[endgroup]
fmt check
Diff in /checkout/compiler/rustc_query_system/src/dep_graph/graph.rs at line 695:
 
     #[inline(always)]
     pub fn register_dep_node_debug_str<F>(&self, dep_node: DepNode<K>, debug_str_gen: F)
-        where
-            F: FnOnce() -> String,
+    where
+        F: FnOnce() -> String,
     {
         let dep_node_debug = &self.data.as_ref().unwrap().dep_node_debug;
 
Running `"/checkout/obj/build/x86_64-unknown-linux-gnu/rustfmt/bin/rustfmt" "--config-path" "/checkout" "--edition" "2021" "--unstable-features" "--skip-children" "--check" "/checkout/compiler/rustc_mir_transform/src/normalize_array_len.rs" "/checkout/compiler/rustc_mir_transform/src/errors.rs" "/checkout/compiler/rustc_mir_transform/src/function_item_references.rs" "/checkout/compiler/rustc_query_system/src/dep_graph/debug.rs" "/checkout/compiler/rustc_query_system/src/dep_graph/mod.rs" "/checkout/compiler/rustc_query_system/src/dep_graph/dep_node.rs" "/checkout/compiler/rustc_query_system/src/dep_graph/graph.rs" "/checkout/compiler/rustc_mir_transform/src/add_retag.rs"` failed.
If you're running `tidy`, try again with `--bless`. Or, if you just want to format code, run `./x.py fmt` instead.

@bors
Copy link
Contributor

bors commented May 18, 2023

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

1 similar comment
@bors
Copy link
Contributor

bors commented May 18, 2023

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

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (2354ebd53732be5d62fc44ea9c49b197e6a39792): comparison URL.

Overall result: ❌ regressions - 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.

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-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)
2.2% [0.6%, 6.6%] 201
Regressions ❌
(secondary)
2.4% [0.6%, 6.1%] 214
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.2% [0.6%, 6.6%] 201

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)
5.0% [1.0%, 16.8%] 231
Regressions ❌
(secondary)
8.0% [1.3%, 16.3%] 260
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 5.0% [1.0%, 16.8%] 231

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)
2.9% [0.8%, 22.0%] 180
Regressions ❌
(secondary)
5.5% [1.5%, 22.2%] 176
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) 2.9% [0.8%, 22.0%] 180

Binary size

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

Bootstrap: 641.625s -> 770.921s (20.15%)

@rustbot rustbot removed the S-waiting-on-perf Status: Waiting on a perf run to be completed. label May 18, 2023
@SparrowLii
Copy link
Member Author

SparrowLii commented Aug 8, 2023

This draft will be used to test rustc with parallel_compiler=true and with -Zthreads=1 this month.

@SparrowLii
Copy link
Member Author

This draft is far from the current implementation, so I think it can be closed.

@SparrowLii SparrowLii closed this Aug 26, 2023
@SparrowLii SparrowLii reopened this Dec 6, 2023
@SparrowLii SparrowLii closed this Dec 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-query-system Area: The rustc query system (https://rustc-dev-guide.rust-lang.org/query.html) perf-regression Performance regression. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants