Skip to content

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

nnethercote and others added 17 commits July 20, 2023 09:58
In `base.rs`, tweak how the CGU size interleaving works. Since rust-lang#113777,
it's much more common to have multiple CGUs with identical sizes. With
the existing code these same-sized items ended up in the
opposite-to-desired order due to the stable sorting. The code now starts
with a reverse sort (like is done in `partitioning.rs`) which gives the
behaviour we want. This doesn't matter much for perf, but makes profiles
in `samply` look more like what we expect.

In `partitioning.rs`, we can use `sort_by_key` instead of
`sort_by_cached_key` because `CGU::size_estimate()` is cheap. (There is
an identical CGU sort earlier in that function that already uses
`sort_by_key`.)
It's currently stored twice: once in `Parser`, once in the `TokenStream`
within `Parser`. We only need the latter.
It doesn't really matter what the `desugar_doc_comments` argument is
here, because in practice we never look ahead through doc comments.
Changing it to `cursor.desugar_doc_comments` will allow some follow-up
simplifications.
…}next`.

Because it's now always `self.desugar_doc_comments`.
Useful information that took me some time to discern.
…nkfelix

Tweak CGU sorting in a couple of places.

In `base.rs`, tweak how the CGU size interleaving works. Since rust-lang#113777, it's much more common to have multiple CGUs with identical sizes. With the existing code these same-sized items ended up in the opposite-to-desired order due to the stable sorting. The code now starts with a reverse sort (like is done in `partitioning.rs`) which gives the behaviour we want. This doesn't matter much for perf, but makes profiles in `samply` look more like what we expect.

In `partitioning.rs`, we can use `sort_by_key` instead of `sort_by_cached_key` because `CGU::size_estimate()` is cheap. (There is an identical CGU sort earlier in that function that already uses `sort_by_key`.)

r? `@pnkfelix`
CI: fix CMake installation for 32/64 bit `dist` Linux

Should hopefully fix LLVM 17 build (rust-lang#114048 (comment)).
…esleywiser

inline format!() args from rustc_codegen_llvm to the end (4)

r? `@WaffleLapkin`
…leanups, r=petrochenkov

`desugar_doc_comments` cleanups

r? `@petrochenkov`
…spastorino

add stable NullaryOp

r? `@spastorino`
replace atty crate with std's IsTerminal
…ck, r=pnkfelix

Dont pass `-Zwrite-long-types-to-disk=no` for `ui-fulldeps --stage=1`

Due to this hack:

https://github.com/rust-lang/rust/blob/601a34de8c10458b72a7781eb0b44a7981e4a2b1/src/bootstrap/test.rs#L1473-L1484

We use the stage 0 compiler to build the stage 1 fulldeps tests. That means that we don't have `-Zwrite-long-types-to-disk=no` which was added in rust-lang#113893.

Add a temporary hack to fix this (https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/Some.20tests.20failing.20with.20--stage.201) until the next beta bump.
@rustbot rustbot added 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-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-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Jul 27, 2023
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=7

@bors
Copy link
Collaborator

bors commented Jul 27, 2023

📌 Commit 8cae343 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Jul 27, 2023
@bors
Copy link
Collaborator

bors commented Jul 27, 2023

⌛ Testing commit 8cae343 with merge 3e11b22...

@bors
Copy link
Collaborator

bors commented Jul 27, 2023

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing 3e11b22 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 27, 2023
@bors bors merged commit 3e11b22 into rust-lang:master Jul 27, 2023
@rustbot rustbot added this to the 1.73.0 milestone Jul 27, 2023
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#113872 Tweak CGU sorting in a couple of places. 61baeb5239ea326bc57335de6c9c1f618985c300 (link)
#114053 CI: fix CMake installation for 32/64 bit dist Linux 98a2766293e7a71f8e0de1ca83a8271598bc66a3 (link)
#114075 inline format!() args from rustc_codegen_llvm to the end (4) 5c6710e95f866f50e96958aaa6213930d022f2de (link)
#114081 desugar_doc_comments cleanups 0885818ab718a59a6dcd70b7782823b77fb516d8 (link)
#114082 add stable NullaryOp 9708b1ba27f5bbf189c46ece63f833ccbd8e54e1 (link)
#114098 replace atty crate with std's IsTerminal 50e9adb2817654a56cb5500fa381e3f0f810b7ff (link)
#114102 Dont pass -Zwrite-long-types-to-disk=no for `ui-fulldeps … 70f1e4658cb56e79e840b897b8cfe78ff5a39de7 (link)

previous master: d150dbb067

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (3e11b22): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -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)
2.0% [2.0%, 2.0%] 1
Improvements ✅
(primary)
-0.3% [-0.5%, -0.2%] 28
Improvements ✅
(secondary)
-0.4% [-0.5%, -0.3%] 10
All ❌✅ (primary) -0.3% [-0.5%, -0.2%] 28

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.2% [1.7%, 5.5%] 3
Regressions ❌
(secondary)
2.9% [2.3%, 3.5%] 3
Improvements ✅
(primary)
-9.9% [-9.9%, -9.9%] 1
Improvements ✅
(secondary)
-3.9% [-3.9%, -3.9%] 1
All ❌✅ (primary) -0.0% [-9.9%, 5.5%] 4

Cycles

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

Binary size

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

Bootstrap: 653.837s -> 652.287s (-0.24%)

@matthiaskrgr matthiaskrgr deleted the rollup-dtdfk76 branch March 16, 2024 18:19
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 merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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-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.

9 participants