-
Notifications
You must be signed in to change notification settings - Fork 5k
WIP Propose more comprehensible terminology for “disable optimizations” #15990
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
WIP Propose more comprehensible terminology for “disable optimizations” #15990
Conversation
Nice improvement. The only issue I see is that the "avoidance" part may not be clear. People may think of "task configuration avoidance" or "compile avoidance". What exactly are we referring to avoidance here? Up-to-date checking and build caching? |
I very much agree that the new message is more user-friendly. In general we assume too much about the user understanding what we mean, so more context is better.
"correctness, which potentially increased" reads a bit strange. I'd split that:
I don't know what to use for "avoidance" because I'm unsure myself what it refers to, but it should be explicit. |
AFAIK, the three optimizations we are talking about are “Up-to-date checking”, “build caching” and “parallel execution”. These messages are already lengthy, so I tried using “Avoidance” to cover “Up-to-date checks” and “build caching”. I agree that it is awkward. I think the verbosity is better than the ambiguity when all things are considered. I'd update that. |
+1 on that suggestion. |
I think we should use the term "execution optimizations." This is a term that both sufficiently covers the things that are in question today and in the future, and it also captures what's important for the user (=they care that their build is executed as optimal as possible). Note that "avoidance" rhymes with "compilation avoidance" which is not affected by validation problems. Also note that in some cases we can't disable parallel execution (e.g. because we detect the problem too late). We could say here that "certain execution optimizations are disabled." I think it's sufficient to clarify the actual optimizations being disabled in the linked documentation. |
Another thing we should probably do is to emphasize that the user can get more information (including the documentation link) for deprecation warnings by supplying |
BTW, yet another optimization that is disabled in incremental execution. We might have other things disabled in the future, too. |
I’ll leave it to the execution team to resolve from here as desired. |
This is a strawman for discussing options for improving the user feedback when unsafe/incomplete implementation or configuration of a work unit causes “optimizations” to be disabled.
Tests have not been updated to reflect the proposal.
For the common case of not using
--info
, before:Before:
After:
Both are problematic, with the most problematic probably being that the given documentation link will do very little to help any non-expert comprehend what is going on here.
Regardless, I propose that the
after
is better in that: