Skip to content
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

Review resolution ordering #12

Open
uranusjr opened this issue Jan 31, 2020 · 1 comment
Open

Review resolution ordering #12

uranusjr opened this issue Jan 31, 2020 · 1 comment

Comments

@uranusjr
Copy link
Member

uranusjr commented Jan 31, 2020

Slightly related to #11.

Currently our resolver picks one package to resolve for each iteration by looking all known requirements. In contrast, Rust uses a DFS, i.e. it picks one initial requirement to resolve, and pick one of its dependency to resolve, and so on, completing the whole branch before looking at the next initial requirement. My instinct was that looking at all known requirements (so more of a BFS) makes it easier to detect conflicts early, but that might not be the case.

Again, real-world cases would help greatly to determine which choice is better.

@uranusjr uranusjr added this to Backlog in Resolver improvements Jan 31, 2020
@uranusjr
Copy link
Member Author

uranusjr commented Feb 3, 2020

Interestingly Molinilo takes the complete opposite strategy: The requirement with the most candidates (with the loosest constraint) is visited first!

@uranusjr uranusjr mentioned this issue Feb 3, 2020
11 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

1 participant