-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
Update cargo #124684
Update cargo #124684
Conversation
Some changes occurred in src/tools/cargo cc @ehuss |
@bors r+ rollup=never p=1 |
Update cargo 18 commits in 6087566b3fa73bfda29702632493e938b12d19e5..05364cb2f61a2c2b091e061c1f42b207dfb5f81f 2024-04-30 20:45:20 +0000 to 2024-05-03 16:48:59 +0000 - chore(deps): update msrv (3 versions) to v1.76 (rust-lang/cargo#13857) - Stabilize `-Zcheck-cfg` as always enabled (rust-lang/cargo#13571) - fix(lints): Prevent inheritance from bring exposed for published packages (rust-lang/cargo#13852) - refactor: remove unnecessary branch for link binary on macOS (rust-lang/cargo#13851) - perf(toml): Avoid inferring when targets are known (rust-lang/cargo#13849) - Update continuous-integration.md: Include CircleCI reference (rust-lang/cargo#13850) - chore(deps): update msrv (1 version) to v1.78 (rust-lang/cargo#13848) - Workaround copying file returning EAGAIN on ZFS on mac OS (rust-lang/cargo#13845) - Clean package perf improvements (rust-lang/cargo#13818) - fix(toml): Validate crates_types/proc-macro for bin like others (rust-lang/cargo#13841) - fix(toml): On 2024 Edition, disallow ignored `default-features` when inheriting (rust-lang/cargo#13839) - chore(ci): Ignore openssl deps (rust-lang/cargo#13840) - fix(lints): Remove ability to specify `-` in lint name (rust-lang/cargo#13837) - fix(resolver): Treat unset MSRV as compatible (rust-lang/cargo#13791) - fix(toml): Don't lose 'public' when inheriting a dep (rust-lang/cargo#13836) - chore(deps): update compatible (rust-lang/cargo#13834) - Error when unstable lints are specified but not enabled (rust-lang/cargo#13805) - fix(lint): Warn not Error on unsupported lint tool (rust-lang/cargo#13833) r? ghost Note: this includes the fix that was beta backported in rust-lang#124647
The job Click to see the possible cause of the failure (guessed by this bot)
|
💔 Test failed - checks-actions |
I'm not sure what caused the error. @bors retry rollup=never p=1 |
☀️ Test successful - checks-actions |
Finished benchmarking commit (2c4bf24): comparison URL. Overall result: ❌ regressions - ACTION NEEDEDNext Steps: If you can justify the regressions found in this perf run, please indicate this with @rustbot label: +perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)ResultsThis 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.
CyclesResultsThis 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.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 678.263s -> 675.159s (-0.46%) |
With the We also have some dependencies updates in this PR so unsure which is the culprit. Continue investigating... |
…try> [DONT MERGE] cargo perf regression investigation Deal with <rust-lang#124684 (comment)> This reverts the stabilization of `-Zcheck-cfg`. r? weihanglo
I'm highly suspicious the perf regressions have the same cause as in #120393, the sheer number of warnings we now emit. In #120393 (comment) we had ~200 warnings and that caused us ~3/4% perf on diesel, diesel isn't impacted here but the same reasoning can be applied here to The In summary, this may not be a "real" perf regression after all, just a deficiency in our perf tests that is no longer measuring the same thing as before. I'm having trouble confirming this locally but I'm pretty sure those warnings account for the vast majority (if not all) of the perf regressions. |
I didn't have a chance to investigate this yet, but based on the self-profile data, it indeed looks like much more time is spent in the lint machinery. |
@Muscraft The
That is always out of our control, and just needs to be retried. |
Why are there so many new warnings? |
@nnethercote See rust-lang/blog.rust-lang.org#1313, which is supposed to be out along with the nightly release 😂. |
Why do the benchmarks trigger so many occurrences of these new warnings? Is that typical? Are lots of crates now getting hundreds of new warnings? |
You local crates with lots of custom |
I believe the hypothesis that the regression being flagged here is an artifact of the increase in number-of-warnings being emitted. I consider this a (mostly-)false alarm resulting as an artifact of design decisions in our rustc-perf infrastructure. (I say "mostly-false" since I do think that @nnethercote is asking the right question, namely about whether other crates should be expecting to see a similar explosion in lint output.) marking as triaged @rustbot label: +perf-regression-triaged |
@pnkfelix Part of the regressions is also the loading of all the built-ins targets to populate the well known cfgs (in particular all the The reason why loading all the built-ins targets is expensive is because they are unfortunately not immutable, both in terms of data, like Apple targets who at runtime look at some env variables but also in terms of heap allocations; and while individually it's not much, multiplied by more than 280 targets it's adding up quickly. I have a PR #122703 in the works to reduce to the bare minimum this cost, and it's showing some results #122703 (comment): [-2.18%, -0.21%] -0.91%. |
18 commits in 6087566b3fa73bfda29702632493e938b12d19e5..05364cb2f61a2c2b091e061c1f42b207dfb5f81f
2024-04-30 20:45:20 +0000 to 2024-05-03 16:48:59 +0000
-Zcheck-cfg
as always enabled (Stabilize-Zcheck-cfg
as always enabled cargo#13571)default-features
when inheriting (fix(toml): On 2024 Edition, disallow ignoreddefault-features
when inheriting cargo#13839)-
in lint name (fix(lints): Remove ability to specify-
in lint name cargo#13837)r? ghost
Note: this includes the fix that was beta backported in #124647