From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Optimizing =?utf-8?Q?=E2=80=98guix_package=E2=80=99?= Date: Wed, 02 Apr 2014 16:14:30 +0200 Message-ID: <874n2bizsp.fsf_-_@gnu.org> 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> 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]:53935) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVLw7-0002ms-DF for guix-devel@gnu.org; Wed, 02 Apr 2014 10:14:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WVLw1-0001Nr-2z for guix-devel@gnu.org; Wed, 02 Apr 2014 10:14:39 -0400 Received: from hera.aquilenet.fr ([2a01:474::1]:56300) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WVLw0-0001Nl-SJ for guix-devel@gnu.org; Wed, 02 Apr 2014 10:14:33 -0400 In-Reply-To: <87txamkbde.fsf@yeeloong.lan> (Mark H. Weaver's message of "Tue, 25 Mar 2014 03:04:13 -0400") 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: Mark H Weaver Cc: guix-devel@gnu.org 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%!). 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 pack= age 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. Ludo=E2=80=99.