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

Attachment: signature.asc
Description: PGP signature

Reply via email to