use config (i.e. freeze) constraints also as solver version prefs #7491
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This extends version prefs handed to the solver (to guide it) by any version constraints fixed directly in a project config (or freeze) file. It cuts down the number of local backjumps, because the prefs are applied before directly traversing the version tree. This was done to see if it could improve the situation in #7466 but my tests don't seem to show a significant speedup -- i.e. local backjumps appear cheap, similar to #7490 .
So I'm not sure if there's any significant benefit in ensuring preferences are applied before running the solver and just letting the constraint conflict machinery immediately apply the fixed version constraints from the freeze file. Again interested in feedback from the Usual solver experts (@dcoutts @grayjay @ezyang and anyone else I may not have thought of here).