From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id EBbQBPIRNWD7VAAA0tVLHw (envelope-from ) for ; Tue, 23 Feb 2021 14:32:18 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id YBV3O/ERNWAhXQAAB5/wlQ (envelope-from ) for ; Tue, 23 Feb 2021 14:32:17 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id AF02DE1A3 for ; Tue, 23 Feb 2021 15:32:17 +0100 (CET) Received: from localhost ([::1]:36244 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lEYjY-00071d-KU for larch@yhetil.org; Tue, 23 Feb 2021 09:32:16 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38274) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lEYg4-0004OW-Cv for guix-devel@gnu.org; Tue, 23 Feb 2021 09:28:40 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:46325) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lEYg4-0001xj-41 for guix-devel@gnu.org; Tue, 23 Feb 2021 09:28:40 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=58256 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lEYg3-0002fh-4T for guix-devel@gnu.org; Tue, 23 Feb 2021 09:28:39 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Guix-devel Subject: Re: Will 2021 be the year of build systems on gexps? References: <87im6ojbbx.fsf@gnu.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 5 =?utf-8?Q?Vent=C3=B4se?= an 229 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 23 Feb 2021 15:28:36 +0100 In-Reply-To: <87im6ojbbx.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Fri, 19 Feb 2021 17:01:38 +0100") Message-ID: <87wnuy504r.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list 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+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -1.87 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: AF02DE1A3 X-Spam-Score: -1.87 X-Migadu-Scanner: scn1.migadu.com X-TUID: etSvh0bj+Foq Hi! Ludovic Court=C3=A8s skribis: > I=E2=80=99ve made progress identifying and mitigating what seems to be th= e main > cause of this (the fact that it=E2=80=99s possible to ungexp a list and t= hat > list will be scanned in its entirety in search of file-like > objects=E2=80=94convenient but expensive) but as you can see, there=E2=80= =99s still a > lot to do. I cherry-picked to =E2=80=98master=E2=80=99 the gexp optimizations I made on =E2=80=98wip-build-systems-gexp=E2=80=99. The good news is that it pays of= f on system compilations, going from (commit 3c548c3e0eade12d3e86b1201dbd95863ca64ea7): --8<---------------cut here---------------start------------->8--- $ GUIX_PROFILING=3D"gc object-cache" ./pre-inst-env guix system build -d --= no-grafts gnu/system/examples/desktop.tmpl /gnu/store/g6kd2blajq6yja80516m85zv07d4ysb3-system.drv Store object cache: fresh caches: 2 lookups: 119282 hits: 116225 (97.4%) Garbage collection statistics: heap size: 119.43 MiB allocated: 649.07 MiB GC times: 26 time spent in GC: 2.15 seconds (37% of user time) --8<---------------cut here---------------end--------------->8--- to (commit 0a912b3a434c9ff9515f9036feae4d3a7075fb2f): --8<---------------cut here---------------start------------->8--- $ GUIX_PROFILING=3D"gc object-cache" ./pre-inst-env guix system build -d --= no-grafts gnu/system/examples/desktop.tmpl /gnu/store/f63c8rk8rwrfr5cl4s74hnx25l3z1hrp-system.drv Store object cache: fresh caches: 2 lookups: 119285 hits: 116227 (97.4%) cache size: 3058 entries Garbage collection statistics: heap size: 111.43 MiB allocated: 608.01 MiB GC times: 25 time spent in GC: 2.00 seconds (37% of user time) --8<---------------cut here---------------end--------------->8--- Reduced heap allocations (-6%), reduce heap size (-7%), and reduced run time (ditto). Getting better! Ludo=E2=80=99.