From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: Re: Performance improvements Date: Mon, 28 Oct 2019 00:06:25 +0100 Message-ID: <87pnihg55a.fsf@gnu.org> References: <87r23fknvz.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]:36066) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iOrcC-0004C6-63 for Guix-devel@gnu.org; Sun, 27 Oct 2019 19:06:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:35928) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iOrcC-0008Ak-2S for Guix-devel@gnu.org; Sun, 27 Oct 2019 19:06:28 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=46242 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iOrcB-0008QY-GO for Guix-devel@gnu.org; Sun, 27 Oct 2019 19:06:27 -0400 In-Reply-To: <87r23fknvz.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 14 Oct 2019 23:39:28 +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: Guix-devel Hi! Some more improvements come from these commits: ac19950507 gnu: bootstrap: Cache the 'bootstrap-executable' origins. 5166d02730 gnu: bootstrap: 'bootstrap-origin' preserves eq?-ness when no = changes are made. d727a9343d derivations: Don't memoize 'derivation->bytevector'. f5fca9a82c gexp: Cache the module to derivation mappings. c57e417eff store: Allow objects in the cache to be inserted and search fo= r with 'equal?'. f58b45350b gexp: Add 'imported+compiled-modules'. f726f6f802 derivations: 'build-expression->derivation' caches its module = derivations. cf7648f882 derivations: Introduce 'imported+compiled-modules'. This caches the module-to-derivation mapping, which wasn=E2=80=99t cached u= ntil now. Overall the goal is to have the high-level caches work nicely (the =E2=80=9Cobject cache=E2=80=9D in particular), rendering the low-level cach= es (such as the =E2=80=98add-data-to-store=E2=80=99 cache) potentially useless. This i= s beneficial because a cache hit on the object cache saves more CPU time than a cache hit on a low-level cache. Ludovic Court=C3=A8s skribis: > $ time guix build libreoffice -nd > /gnu/store/8drmbhsrayr2j5lkvrwq37rg8g06hgsw-libreoffice-6.1.5.2.drv > > real 0m2.142s > user 0m2.323s > sys 0m0.082s > $ guix describe > Generacio 110 Oct 14 2019 08:43:33 (nuna) > guix bd04fe8 > repository URL: https://git.savannah.gnu.org/git/guix.git > branch: master > commit: bd04fe878627a14533d908ccdf5b906050d6e0a4 And now: --8<---------------cut here---------------start------------->8--- $ time /tmp/new/bin/guix build libreoffice -nd /gnu/store/ibzap0v1c367h0j2mdd2jmlsfx9jplfb-libreoffice-6.1.5.2.drv real 0m1.658s user 0m1.699s sys 0m0.073s $ /tmp/new/bin/guix describe Generacio 1 Oct 28 2019 00:03:05 (nuna) guix 271b3c9 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 271b3c9d16f8880f4a27b52a615cdec611322fae --8<---------------cut here---------------end--------------->8--- Ludo=E2=80=99.