From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: Optimizing =?utf-8?Q?=E2=80=98guix_package=E2=80=99?= Date: Wed, 02 Apr 2014 12:58:47 -0400 Message-ID: <87a9c3k6rc.fsf@yeeloong.lan> References: <871tz8oldk.fsf@netris.org> <874n2oubuq.fsf@gnu.org> <8761n4mzvu.fsf@yeeloong.lan> <87siq8r77u.fsf@gnu.org> <87r45sl074.fsf_-_@yeeloong.lan> <87ha6nzp58.fsf@gnu.org> <87txamkbde.fsf@yeeloong.lan> <874n2bizsp.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:4830:134:3::10]:39946) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVOVy-0008Lb-7g for guix-devel@gnu.org; Wed, 02 Apr 2014 12:59:51 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WVOVx-0001pZ-EU for guix-devel@gnu.org; Wed, 02 Apr 2014 12:59:50 -0400 In-Reply-To: <874n2bizsp.fsf_-_@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\?\= \=\?utf-8\?Q\?\=22's\?\= message of "Wed, 02 Apr 2014 16:14:30 +0200") 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.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: guix-devel@gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Mark H Weaver skribis: > >> * Although I can now run union-build in 2 minutes, another full minute >> is spent in 'display-search-paths', > > Commit 27c6845 optimizes that (50%!). Oooh, this makes a significant improvement on my YeeLoong :) > The problem is that currently this is an inherently inefficient > operation: search path information is not stored in the manifest, so > =E2=80=98search-path-environment-variables=E2=80=99 has to look up the pa= ckage > corresponding to each manifest entry to find out what the search path > variables are. That involves traversing the module tree, which does a > lot of I/O (this is OKish on an SSD, but much less on a real hard disk.) > > Perhaps eventually we could store search path info in manifest entries. Sounds good to me. When we make union smarter about handling conflicts, it may be that some hints from the individual packages should be consulted, and perhaps those hints should go in the manifest as well. Thanks! Mark