From mboxrd@z Thu Jan 1 00:00:00 1970 From: zimoun Subject: =?UTF-8?Q?Re=3A_Speeding_up_=E2=80=9Cguix_pull=E2=80=9D=3A_splitting_modules?= Date: Mon, 20 Jan 2020 18:44:54 +0100 Message-ID: References: <87k1657i7j.fsf@elephly.net> <87zhetshbc.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:46687) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1itb6r-0006qh-Bt for guix-devel@gnu.org; Mon, 20 Jan 2020 12:45:10 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1itb6q-0007PX-Dv for guix-devel@gnu.org; Mon, 20 Jan 2020 12:45:09 -0500 In-Reply-To: <87zhetshbc.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane-mx.org@gnu.org Sender: "Guix-devel" To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: Guix Devel Hi Ludo, On Sun, 12 Jan 2020 at 00:29, Ludovic Court=C3=A8s wrote: > zimoun skribis: > > > So knowing where the cycles are could help to transform the DaG (not > > fully acyclic yet) to a DAG. :-) > > Unfortunately, the module graph necessarily contains cycles. The only > way to avoid them would be to have exactly one module per package, given > that the package graph is acyclic. My mind is not clear and I miss a point. I understand that module graph contains cycles. I am not convinced it is *necessary* and I am not convinced neither that the only solution is "one module per package". Today, the structure of modules is per language and/or topic. The union of all the package graphs which is big DAG can be arbitrarily splited into sub-DAGs and these sub-DAGs becomes modules. And I am not convinced that the size of these sub-DAG is only one package. Well, that's another story. :-) And it will not help for speeding up. However, working on the graph could help to identify the "hot" packages and/or modules, IMHO. Cheers, simon