[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Speeding up “guix pull”: splitting modules
From: |
zimoun |
Subject: |
Re: Speeding up “guix pull”: splitting modules |
Date: |
Fri, 10 Jan 2020 13:53:38 +0100 |
Hi Gábor,
On Fri, 10 Jan 2020 at 13:42, Gábor Boskovits <address@hidden> wrote:
> > The modules graph (DAG) is already available. :-)
>
> The main problem here is that the modules do not form a DAG.
> There are circular dependencies between the modules.
> If those were not, then modular build would be possible, but because of
> the spaghetti we are forced to build these together.
Maybe we have a naming problem. :-)
I agree that it is not an Acyclic graph and if I understand you
correctly it is because there are cycles that the mess starts.
Using the Directed properties (but not required in fact, whatever :-),
traversing the graph detects the cycle. It is more or less what it is
done in the function `guix/import/utils.scm (topological-sort)`.
So knowing where the cycles are could help to transform the DaG (not
fully acyclic yet) to a DAG. :-)
All the best,
simon
Re: Speeding up “guix pull”: splitting modules, Ludovic Courtès, 2020/01/08
Re: Speeding up “guix pull”: splitting modules, Ludovic Courtès, 2020/01/08