On Fri, 07 Nov 2014 19:11:04 +0100 Jauhien Piatlicki <jauh...@gentoo.org> wrote: > Then the same question for you: where can one read about the algorithm > Paludis uses?
It's basically a two stage process: simple constraint solving using value ordering heuristics to enforce "don't do unnecessary work", then ordering (which is not quite a graph process, and which is not as simple as a topological sort, because the tree is full of circular dependencies). But the interesting question isn't "what's the algorithm?", it's "what's the model?". That's where the complexity lies: figuring out how to turn *DEPEND specifications into constraints is an utter pain, and it isn't clean or easily understandable. The primary reason is || dependencies: developers like to write not-really-correct and utterly unobvious dependency strings rather than asking for new syntax so they can just say what they mean... > And, again, I have herd (did not try myself) that Paludis is as slow > as Portage. Well, you're not comparing like with like. Paludis with "everything turned off" does more than Portage with "everything turned on". If all you're looking for is the wrong answer as fast as possible, there are easier ways of getting it... -- Ciaran McCreesh
signature.asc
Description: PGP signature