Skip to content

[solver] Optimization idea: detect common dependency layouts #7643

@stof

Description

@stof

When finding multiple versions of a package which can fulfill a constraint, it is quite common for them to have the same set of dependencies (we can have multiple such groups among the versions found), as most packages don't update their requirements on each patch release.

Create a group of versions in the solver might allow limiting the number of rules in the solver. Instead of having require rules for each version to their dependencies, we would have requires rule from the group to the dependencies (so 1 set instead of N set), a require rule from the group to the packages in it, and incoming require rules would point to the group.

I haven't investigated the idea to be sure that it is a correct one (I think it is safe change in the algorithm, but @naderman knows it much better than me).

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions