-
Notifications
You must be signed in to change notification settings - Fork 12.9k
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
Reland #132772: use download-rustc="if-unchanged"
as a global default
#132872
Conversation
This PR modifies If appropriate, please update This PR modifies If appropriate, please update |
I'm afraid for whatever reason this still is not sufficient, a local stage1 compiler build with this PR's changes shows:
|
You need to use different channel than "dev" in config.toml. |
... Right, I use compiler profile by default. Changed to: profile = "compiler"
change-id = 999999
[llvm]
#assertions = true
download-ci-llvm = true
[build]
build = "x86_64-pc-windows-msvc"
#profiler = true
[rust]
channel = "nightly"
download-rustc = false
codegen-backends = ["llvm"]
deny-warnings = true
debug = false
debuginfo-level = 1
#debug-logging = true
debug-assertions = true
debug-assertions-std = true and building local stage1 rustc to double-check FTR, I find it a bit strange that |
But anyway, I can confirm that
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The changes themselves LGTM and I did some manual testing and this seems to work properly for non-dev
-channel builds.
@bors r+ |
@bors rollup=never (revert of a revert) |
download-rustc="if-unchanged"
as a global default
(Renamed PR title to be slightly more informative) |
Question: Does this mean that If so, that seems like the wrong default for users of that profile. For example, trying to build the compiler on |
What do you mean by that? Wouldn't rustc download be skipped if rustc was modified? |
E.g. if I do: git checkout master
git reset --hard origin/master
git pull
./x build library Would that build the compiler (as expected), or would it download a pre-built compiler instead? |
AFAIK that would download a pre-built compiler if @onur-ozkan what do you think? @bors r- (unresolved concerns) |
If you haven't modified the compiler tree and your configuration doesn't conflict with the pre-compiled rustc, why would you want to compile the in-tree compiler? I'm also unsure how many people would actually prefer that. If you still want to build the in-tree compiler without any changes, you can always set The goal here is to use the same default between library and compiler profiles to keep similar bootstrap behaviour on build process. From @RalfJung on Zulip thread:
|
I'll double-check with other compiler team members, but I would personally prefer if we kept I go around and ask compiler people if we have consensus, and I can send a follow-up to also make this the default for compiler profile if we do. EDIT: t-compiler thread: https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/.60download-rustc.20.3D.20'if-unchanged'.60.20for.20.60compiler.60.20profile.3F. I'll bring this up during this week's compiler triage meeting as well unless we have obvious preferences beforehand already. |
I think it would be a bad idea to use different settings for libs and compiler work. It is not uncommon for the same person to do both, and I certainly don't want to reconfigure my checkouts each time I switch between the two. We should provide a seamless transition for a new contributor to switch from a library patch to a compiler patch and vice versa.
A compiler dev will basically always change the "compiler" dir, so things will behave exactly as they should.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the preset changes. You can r=me after PR CI is green.
@bors r=jieyouxu |
☔ The latest upstream changes (presumably #132954) made this pull request unmergeable. Please resolve the merge conflicts. |
…-default, r=jieyouxu" This reverts commit c0cee4e.
Signed-off-by: onur-ozkan <work@onurozkan.dev>
There is an ongoing discussion about this on Zulip and for now we want to keep these disabled. Zulip thread: https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/.60download-rustc.20.3D.20'if-unchanged'.60.20for.20.60compiler.60.20profile.3F Signed-off-by: onur-ozkan <work@onurozkan.dev>
0b30026
to
db12ccd
Compare
@bors r=jieyouxu |
☀️ Test successful - checks-actions |
Finished benchmarking commit (65b3877): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowOur benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countThis is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.
Max RSS (memory usage)Results (primary 4.1%)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.
CyclesResults (secondary 2.0%)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.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 786.527s -> 784.717s (-0.23%) |
Noise of course. @rustbot label: +perf-regression-triaged |
Lines 499 to 507 in dae7ac1
|
update download-rustc comments and default See rust-lang#132872 (comment)
Rollup merge of rust-lang#133034 - onur-ozkan:new-default, r=jieyouxu update download-rustc comments and default See rust-lang#132872 (comment)
Relands #132772 with the fix.
r? jieyouxu (knows the context).