From mboxrd@z Thu Jan 1 00:00:00 1970 From: Efraim Flashner Subject: Re: Performance improvements Date: Mon, 28 Oct 2019 09:56:13 +0200 Message-ID: <20191028075613.GA20762@E5400> References: <87r23fknvz.fsf@gnu.org> <87pnihg55a.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="uAKRQypu60I7Lcqm" Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:49179) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iOzsw-0008Nn-Mg for Guix-devel@gnu.org; Mon, 28 Oct 2019 03:56:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iOzsv-0004U8-60 for Guix-devel@gnu.org; Mon, 28 Oct 2019 03:56:18 -0400 Content-Disposition: inline In-Reply-To: <87pnihg55a.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.org@gnu.org Sender: "Guix-devel" To: Ludovic =?utf-8?Q?Court=C3=A8s?= Cc: Guix-devel --uAKRQypu60I7Lcqm Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Oct 28, 2019 at 12:06:25AM +0100, Ludovic Court=C3=A8s wrote: > Hi! >=20 > Some more improvements come from these commits: >=20 > ac19950507 gnu: bootstrap: Cache the 'bootstrap-executable' origins. > 5166d02730 gnu: bootstrap: 'bootstrap-origin' preserves eq?-ness when n= o 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 = for with 'equal?'. > f58b45350b gexp: Add 'imported+compiled-modules'. > f726f6f802 derivations: 'build-expression->derivation' caches its modul= e derivations. > cf7648f882 derivations: Introduce 'imported+compiled-modules'. >=20 > This caches the module-to-derivation mapping, which wasn=E2=80=99t cached= until > now. >=20 > 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 ca= ches (such as > the =E2=80=98add-data-to-store=E2=80=99 cache) potentially useless. This= is beneficial > because a cache hit on the object cache saves more CPU time than a cache > hit on a low-level cache. >=20 > Ludovic Court=C3=A8s skribis: >=20 > > $ 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 >=20 > And now: >=20 > --8<---------------cut here---------------start------------->8--- > $ time /tmp/new/bin/guix build libreoffice -nd > /gnu/store/ibzap0v1c367h0j2mdd2jmlsfx9jplfb-libreoffice-6.1.5.2.drv >=20 > 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--- >=20 Results are even better on a slower machine: $ time guix build libreoffice -nd /gnu/store/ibzap0v1c367h0j2mdd2jmlsfx9jplfb-libreoffice-6.1.5.2.drv real 0m5.408s user 0m5.186s sys 0m0.299s $ time ./pre-inst-env guix build libreoffice -nd /gnu/store/ibzap0v1c367h0j2mdd2jmlsfx9jplfb-libreoffice-6.1.5.2.drv real 0m3.836s user 0m3.519s sys 0m0.235s $ guix describe Generation 12 Oct 27 2019 11:53:42 (current) ietf 8c6079e repository URL: https://gitlab.com/efraim/guix-ietf.git branch: master commit: 8c6079e10fdf640ce2cdafa3c1ea24961650f451 guix 24adcba repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: 24adcbab0ad903c59793dbe141950fff5058b8a2 $ ./pre-inst-env guix describe Git checkout: repository: /home/efraim/workspace/guix branch: master commit: 64e3fe04b32e2eab1144d5b0c9278eab81056bd6 --=20 Efraim Flashner =D7=90=D7=A4=D7=A8=D7=99=D7=9D = =D7=A4=D7=9C=D7=A9=D7=A0=D7=A8 GPG key =3D A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted --uAKRQypu60I7Lcqm Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl22nxsACgkQQarn3Mo9 g1ECyxAAu3+xlbBJYjKl8f425fE/FsXtRqGr0W/sDZhpPmvZNqld5cdoEhx5qJYJ /5yEzE111TrX7FIqs7/GWhnHyAHFpBDDCnRVMg4GMg69U9AtdnfgD8w73vI9OHFm GLppz5JIg0ujfB0qaqDsxsdFd4UrkkRjGqduOoVoXS6I4fXUGir7t5QWV9qwRPz3 wOad5iXo7PHwjIVn29hOzdy1vxz+B8sdzBoNcTEieHd42RL0XGRe3XmZLF73B0qQ WrOeujcvsrFjTmZVzHCM4ZrGwq3fRe9isDpqcDJdrkZ5a63OK6pHiWxR6f3csU1P yQunKsJTD6XfvAVwB+s7t+2Y9W6/0EuyPSv3cBKBV9zSH7GrZKvcY5zSWPkq6X8D 4iQzgTpRKtFGVnHyB+tdDWt5sYTfq2dJDyD4jttrtqaOH1qxTfHFK/mEHvC+CWDv aUP5UlSvRwCM9XxUTFYmZ3mhmzN39W/1l8+S0EvlYmBXUXZ3f040TiO/VLAbn/aq fsc10hE0jP4I+tBxJ41DjUa3MWACsnuomt5j0/DhQko8Qzz2aqmtkLsLz1n2wYB2 XK0sEDP378ycooOyf+QNSRZLyYnZ7nJIq1ByCawsOzHh4Wi7EsEmAY7bIJZljH8G eNZfK5ONKYR4pyE/PF59XVUgVdHLlLM5x1M6wQGZRWhK3Fl7XkU= =528U -----END PGP SIGNATURE----- --uAKRQypu60I7Lcqm--