From mboxrd@z Thu Jan 1 00:00:00 1970 From: iyzsong@member.fsf.org (=?utf-8?B?5a6L5paH5q2m?=) Subject: Re: =?utf-8?Q?=E2=80=98core-updates=E2=80=99?= is back! Date: Tue, 29 Aug 2017 21:36:10 +0800 Message-ID: <87378av6lx.fsf@member.fsf.org> References: <878ti3uzaz.fsf@gnu.org> <87val6zqg0.fsf@igalia.com> 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]:33671) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dmgic-0008Mg-VU for guix-devel@gnu.org; Tue, 29 Aug 2017 09:38:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dmgib-0005Ee-U6 for guix-devel@gnu.org; Tue, 29 Aug 2017 09:38:14 -0400 In-Reply-To: <87val6zqg0.fsf@igalia.com> (Andy Wingo's message of "Tue, 29 Aug 2017 11:14:07 +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" To: Andy Wingo Cc: guix-devel Andy Wingo writes: > On Tue 29 Aug 2017 00:01, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > >> Yup, I just created a new =E2=80=98core-updates=E2=80=99 branch by pushi= ng >> . Enjoy! >> >> Let=E2=80=99s freeze in one month, say Oct. 1st? > > It would be pretty cool if we could fix our O(n^2) problems in search > paths in this core-updates -- basically whenever you go to create an > environment, instead of making e.g. VAR=3DA:B:C:..., for all VARs > (LIBRARY_PATH, PKG_CONFIG_PATH, etc), instead we make a union directory > Z containing the union of A, B, C, etc and set VAR=3DZ. The goal would be > to fix quadratic run-time lookup costs by replacing it with a > compile-time computation. This applies to many lookups: PATH, -rpath, > etc. The runtime references scanner of daemon will be inefficient if the union gets recorded with all the inputs contained, and we likely won't apply this to packages with multiple outputs (eg: fcitx) which will make every output including the union into its runtime reference.