Uh oh!
There was an error while loading. Please reload this page.
Compile the libstd we distribute with -Ccodegen-unit=1 - #55264
Conversation
Mark-Simulacrum
commented
Oct 22, 2018
Hm, I'd prefer that we instead have this as codegen-unit-std=1 instead of single-codegen-unit-std=true; with that change, though, I think we should be able to use this. @bors try to get at least some amount of timing information |
michaelwoerister
commented
Oct 22, 2018
Sure, no problem. |
nikic
commented
Oct 22, 2018
Would it be possible to add the |
Mark-Simulacrum
commented
Oct 22, 2018
Yeah, that's probably the better way to do it. I think it should go somewhere here: https://github.com/rust-lang/rust/blob/master/src/ci/run.sh#L56 |
bors
commented
Oct 22, 2018
⌛ Trying commit c4ca23afbf1138f094fb813e7fe8eaaec73ef59c with merge 0c6e1283b0a9fe23e54018a5dcdd3ec6d84d1896... |
rust-highfive
commented
Oct 22, 2018
Your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
2 similar comments
rust-highfive
commented
Oct 22, 2018
Your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
rust-highfive
commented
Oct 22, 2018
Your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
bors
commented
Oct 22, 2018
💔 Test failed - status-travis |
rust-highfive
commented
Oct 22, 2018
Your PR failed on Travis (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem. Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
michaelwoerister
commented
Oct 22, 2018
Thanks for pointing that out, @nikic. That's a much better way of setting the flag. |
c4ca23a to
4545b3eComparemichaelwoerister
commented
Oct 23, 2018
@bors try |
bors
commented
Oct 23, 2018
Compile the libstd we distribute with -Ccodegen-unit=1 This PR - adds the `single-codegen-unit-std` option to `config.toml` which allows for setting the CGU count for `libstd` and `libtest` independently of the one for the rest of the compiler, and - sets the new option to `true` for all dist jobs in CI. Fixes#54872. r? @Mark-Simulacrum cc @rust-lang/release
bors
commented
Oct 23, 2018
💔 Test failed - status-travis |
rust-highfive
commented
Oct 23, 2018
The job Click to expand the log.I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact |
michaelwoerister
commented
Oct 23, 2018
@bors try |
bors
commented
Oct 23, 2018
Compile the libstd we distribute with -Ccodegen-unit=1 This PR - adds the `single-codegen-unit-std` option to `config.toml` which allows for setting the CGU count for `libstd` and `libtest` independently of the one for the rest of the compiler, and - sets the new option to `true` for all dist jobs in CI. Fixes#54872. r? @Mark-Simulacrum cc @rust-lang/release
bors
commented
Oct 23, 2018
☀️ Test successful - status-travis |
michaelwoerister
commented
Oct 23, 2018
@Mark-Simulacrum: Changes applied and try build succeeds |
Mark-Simulacrum
commented
Oct 23, 2018
@rust-timer build d803782 If this shows performance wins then we might want to enable this on all builds, not just dist builds, since it could make the compiler fast(er) sufficiently to make the wins on test compilations significant. |
rust-timer
commented
Oct 23, 2018
Success: Queued d803782 with parent d74b402, comparison URL. |
rust-timer
commented
Oct 24, 2018
Finished benchmarking try commit d803782 |
michaelwoerister
commented
Oct 24, 2018
Performance looks pretty good! |
Mark-Simulacrum
commented
Oct 24, 2018
Can you make the change to set the flag on all CI builds vs. just dist builds? I would expect that to be mildly faster with tests so maybe worth it? r=me with that |
nikic
commented
Oct 24, 2018
Interestingly, there's also a few percent of max-rss improvement. I wonder where that comes from, wouldn't have expected codegen units to affect this. Is LLVM optimizing away allocations here? |
03551e1 to
c4aa361Comparemichaelwoerister
commented
Oct 25, 2018
@bors r=Mark-Simulacrum |
bors
commented
Oct 25, 2018
📌 Commit c4aa361e3d0771b18ad2e832c4f28eb345acd686 has been approved by |
c4aa361 to
5dedf0cComparemichaelwoerister
commented
Oct 26, 2018
Rebasing & re-approving in the hope that that will make the PR show up in the bors queue properly. @bors r=simulacrum |
bors
commented
Oct 26, 2018
📌 Commit 5dedf0c has been approved by |
…simulacrum Compile the libstd we distribute with -Ccodegen-unit=1 This PR - adds the `single-codegen-unit-std` option to `config.toml` which allows for setting the CGU count for `libstd` and `libtest` independently of the one for the rest of the compiler, and - sets the new option to `true` for all dist jobs in CI. Fixesrust-lang#54872.
Rollup of 21 pull requests Successful merges: - #54816 (Don't try to promote already promoted out temporaries) - #54824 (Cleanup rustdoc tests with `@!has` and `@!matches`) - #54921 (Add line numbers option to rustdoc) - #55167 (Add a "cheap" mode for `compute_missing_ctors`.) - #55258 (Fix Rustdoc ICE when checking blanket impls) - #55264 (Compile the libstd we distribute with -Ccodegen-unit=1) - #55271 (Unimplement ExactSizeIterator for MIR traversing iterators) - #55292 (Macro diagnostics tweaks) - #55298 (Point at macro definition when no rules expect token) - #55301 (List allowed tokens after macro fragments) - #55302 (Extend the impl_stable_hash_for! macro for miri.) - #55325 (Fix link to macros chapter) - #55343 (rustbuild: fix remap-debuginfo when building a release) - #55346 (Shrink `Statement`.) - #55358 (Remove redundant clone (2)) - #55370 (Update mailmap for estebank) - #55375 (Typo fixes in configure_cmake comments) - #55378 (rustbuild: use configured linker to build boostrap) - #55379 (validity: assert that unions are non-empty) - #55383 (Use `SmallVec` for the queue in `coerce_unsized`.) - #55391 (bootstrap: clean up a few clippy findings)
Upstream started this in rust-lang/rust#55264, which was released in Rust 1.32.
This PR
single-codegen-unit-stdoption toconfig.tomlwhich allows for setting the CGU count forlibstdandlibtestindependently of the one for the rest of the compiler, andtruefor all dist jobs in CI.Fixes#54872.
r? @Mark-Simulacrum
cc @rust-lang/release