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

Rollup of 8 pull requests #99792

Merged
merged 19 commits into from
Jul 27, 2022
Merged

Rollup of 8 pull requests #99792

merged 19 commits into from
Jul 27, 2022

Conversation

JohnTitor
Copy link
Member

Successful merges:

Failed merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

joshtriplett and others added 19 commits June 27, 2022 09:42
…_file`

These calls allow detecting whether a symlink is a file or a directory,
a distinction Windows maintains, and one important to software that
wants to do further operations on the symlink (e.g. removing it).
Co-authored-by: Guillaume Gomez <[email protected]>
No idea if this makes any perf difference, but it just seems like premature
pessimisation to use String when str will do.
…ink-types, r=thomcc

Stabilize Windows `FileTypeExt` with `is_symlink_dir` and `is_symlink_file`

These calls allow detecting whether a symlink is a file or a directory,
a distinction Windows maintains, and one important to software that
wants to do further operations on the symlink (e.g. removing it).
…gillot

Prefer visibility map parents that are not `doc(hidden)` first

Far simpler approach to rust-lang#98876.

This only fixes the case where the parent is `doc(hidden)`, not where the child is `doc(hidden)` since I don't know how to get the attrs on the import statement given a `ModChild`... I'll try to follow up with that, but this is a good first step.
…llaumeGomez

Add a clickable link to the layout section

The layout section (activated by `--show-type-layout`) is currently not linkable to (outside of chrome's link to text feature). This PR makes it linkable via `#layout`.
…s-2, r=compiler-errors

passes: port more of `check_attr` module

Continues from rust-lang#99213.

Port more diagnostics in `rustc_passes::check_attr` to using the diagnostic derive and translation machinery.

r? `@compiler-errors`
Remove dead code from cg_llvm

Found while working on rust-lang#97485
…std-build, r=jyn514

Don't build std for *-uefi targets

rust-lang#97322
…k, r=Urgau

Update pulldown-cmark version to 0.9.2 (fixes url encoding for some chars)

Fixes rust-lang#97125.

r? ``@Dylan-DPC``
rustdoc: do not allocate String when writing path full name

No idea if this makes any perf difference, but it just seems like premature pessimisation to use String when str will do.
@rustbot rustbot added 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-libs Relevant to the library 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. rollup A PR which is a rollup labels Jul 27, 2022
@JohnTitor
Copy link
Member Author

@bors r+ rollup=never p=8

@bors
Copy link
Contributor

bors commented Jul 27, 2022

📌 Commit 0d5bdca has been approved by JohnTitor

It is now in the queue for this repository.

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 27, 2022
@bors
Copy link
Contributor

bors commented Jul 27, 2022

⌛ Testing commit 0d5bdca with merge e33cc71...

@bors
Copy link
Contributor

bors commented Jul 27, 2022

☀️ Test successful - checks-actions
Approved by: JohnTitor
Pushing e33cc71 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jul 27, 2022
@rust-timer
Copy link
Collaborator

Finished benchmarking commit (e33cc71): comparison url.

Instruction count

  • Primary benchmarks: 😿 relevant regressions found
  • Secondary benchmarks: 😿 relevant regressions found
mean1 max count2
Regressions 😿
(primary)
0.5% 0.8% 9
Regressions 😿
(secondary)
1.8% 2.9% 6
Improvements 🎉
(primary)
N/A N/A 0
Improvements 🎉
(secondary)
N/A N/A 0
All 😿🎉 (primary) 0.5% 0.8% 9

Max RSS (memory usage)

Results
  • Primary benchmarks: 😿 relevant regressions found
  • Secondary benchmarks: mixed results
mean1 max count2
Regressions 😿
(primary)
1.3% 1.5% 2
Regressions 😿
(secondary)
3.0% 3.2% 3
Improvements 🎉
(primary)
N/A N/A 0
Improvements 🎉
(secondary)
-2.0% -2.0% 1
All 😿🎉 (primary) 1.3% 1.5% 2

Cycles

Results
  • Primary benchmarks: 😿 relevant regression found
  • Secondary benchmarks: mixed results
mean1 max count2
Regressions 😿
(primary)
2.3% 2.3% 1
Regressions 😿
(secondary)
2.7% 3.6% 6
Improvements 🎉
(primary)
N/A N/A 0
Improvements 🎉
(secondary)
-2.7% -2.7% 1
All 😿🎉 (primary) 2.3% 2.3% 1

If you disagree with this performance assessment, please file an issue in rust-lang/rustc-perf.

Next Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please open an issue or create a new PR that fixes the regressions, add a comment linking to the newly created issue or PR, and then add the perf-regression-triaged label to this PR.

@rustbot label: +perf-regression

Footnotes

  1. the arithmetic mean of the percent change 2 3

  2. number of relevant changes 2 3

@rustbot rustbot added the perf-regression Performance regression. label Jul 27, 2022
@pnkfelix
Copy link
Member

pnkfelix commented Jul 27, 2022

  • Primary regressions were to clap (check full, check incr-full, and doc full), libc (doc full), hyper (check full, check incr-full, and doc full), image (doc full), and webrender (doc full).
  • The significance factor points mostly to the clap cases (with 4.13x, 3.25x, and 7.15x respectively to each of the scenarios I listed above for clap).
  • The detailed query data for clap check full indicates that the problem is mostly in metadata_decode_entry_item_attrs and visible_parent_map; those are the ones that had a significant time delta that end up explaining the overall time delta (0.003 + 0.003 > 0.005).
  • visible_parent_map slowdown may be due to PR Prefer visibility map parents that are not doc(hidden) first #99698.
  • The slowdown to metadata_decode_entry_Item_attrs may be due to PR passes: port more of check_attr module #99712? Hard to say.
  • The secondary regressions are all to the projection-caching benchmark, which regressed by 1.2% to 2.9% in various scenarios. That regression seems to be to due a combination of both the metadata_decode_entry_item_attrs and visible_parent_map regressions, as well as a little bit more time spent in type_op_prove_predicate, evaluate_obligation, and normalize_projection_ty. Not sure why though, I don't think those got touched by this rollup. Maybe just different execution paths from the stdlib changes that did come in with this rollup?
  • Leaving comments on both the rollup PR and the two suspect PRs from the rollup. Not marking as triaged.

@compiler-errors
Copy link
Member

Opened #99819 to test perf results. I wouldn't be surprised if #99698 is the reason for both metadata_decode_entry_item_attrs and visible_parent_map regressions.

@JohnTitor JohnTitor deleted the rollup-20i7ewx branch July 27, 2022 21:15
@compiler-errors
Copy link
Member

Bumping this again: #99819 shows that #99698 is the culprit for the regression. I can revert the original PR if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. perf-regression Performance regression. 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-libs Relevant to the library 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.