Update the cc crate for rustc_llvm#155438
Conversation
Latest stacker needs a newer cc than 1.2.16 as older versions don't have windows arm64ec support.
|
These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
|
rustbot has assigned @Mark-Simulacrum. Use Why was this reviewer chosen?The reviewer was selected based on:
|
|
Given that the previous attempt regressed performance: @bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Update the cc crate for rustc_llvm
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (f61a781): comparison URL. Overall result: ❌ regressions - please read:Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf. Next, please: If you can, justify the regressions found in this try perf run in writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -0.0%, secondary 2.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -2.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 490.301s -> 492.119s (0.37%) |
|
I think we need an explanation if not necessarily a solution (though those regressions look rather large, including on full builds). @rustbot author |
Update a bunch of dependencies to reduce windows-sys duplication This gets rid of windows-sys 0.60 and with the exception of curl and stacker it gets rid of windows-sys 0.59. For stacker getting rid of windows-sys 0.59 is blocked on rust-lang/stacker#145 and #155438.
|
The nearest to an explanation seems to be #146186 (comment), cc @madsmtm It would be a bit of a problem if we can never upgrade cc-rs again... |
|
I never got further than that investigation unfortunately |
Update a bunch of dependencies to reduce windows-sys duplication This gets rid of windows-sys 0.60 and with the exception of curl and stacker it gets rid of windows-sys 0.59. For stacker getting rid of windows-sys 0.59 is blocked on rust-lang/stacker#145 and rust-lang/rust#155438.
Update a bunch of dependencies to reduce windows-sys duplication This gets rid of windows-sys 0.60 and with the exception of curl and stacker it gets rid of windows-sys 0.59. For stacker getting rid of windows-sys 0.59 is blocked on rust-lang/stacker#145 and rust-lang/rust#155438.
Update a bunch of dependencies to reduce windows-sys duplication This gets rid of windows-sys 0.60 and with the exception of curl and stacker it gets rid of windows-sys 0.59. For stacker getting rid of windows-sys 0.59 is blocked on rust-lang/stacker#145 and rust-lang/rust#155438.
|
I've ran cachegrind for stm32f4-0.15.1 and I'm now fairly certain that #146186 (comment) was correct about jemalloc being the cause of the slowdown. Cachegrind shows a lot more jemalloc functions after this PR, suggesting less inlining. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Update the cc crate for rustc_llvm
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (f2c5241): comparison URL. Overall result: ❌ regressions - please read:Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf. Next, please: If you can, justify the regressions found in this try perf run in writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (secondary 2.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 4.0%, secondary -4.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeResults (primary -0.0%, secondary -0.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Bootstrap: 497.449s -> 499.206s (0.35%) |
|
Forgot to update cc back to a version with the perf regression. @bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Update the cc crate for rustc_llvm
This comment has been minimized.
This comment has been minimized.
|
💔 Test for eb2d6cd failed: CI. Failed job:
|
This comment has been minimized.
This comment has been minimized.
Latest stacker needs a newer cc than 1.2.16 as older versions don't have windows arm64ec support.
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Update the cc crate for rustc_llvm
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (c698f04): comparison URL. Overall result: ❌ regressions - please read:Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf. Next, please: If you can, justify the regressions found in this try perf run in writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary 2.6%, secondary -2.5%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary 2.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 498.048s -> 499.972s (0.39%) |
Unless I'm mistaken, Previously, any dependency of ours that was using I think the most straightforward way to get this back is possibly to pass That said, doing so could have the side effect of turning on LTO for other parts of the build (as most systems that build C will pick these up, even if they don't parse/translate rustflags, which most don't), which may be a good thing, but also could cause further problems. |
|
The code I modified is the code that determines the CFLAGS and CXXFLAGS env vars that will be passed to cargo build. |
View all comments
Latest stacker needs a newer cc than 1.2.16 as older versions don't have windows arm64ec support.