From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id mPZ7CbTZNGCnPAAA0tVLHw (envelope-from ) for ; Tue, 23 Feb 2021 10:32:20 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id SMP+BLTZNGD+QwAAbx9fmQ (envelope-from ) for ; Tue, 23 Feb 2021 10:32:20 +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 46B72BE2A for ; Tue, 23 Feb 2021 11:32:19 +0100 (CET) Received: from localhost ([::1]:33086 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lEUzJ-0007e5-TO for larch@yhetil.org; Tue, 23 Feb 2021 05:32:17 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:39968) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lEUyd-0007dI-Lh for guix-devel@gnu.org; Tue, 23 Feb 2021 05:31:37 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43789) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lEUyc-0005A9-8K for guix-devel@gnu.org; Tue, 23 Feb 2021 05:31:35 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=39966 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1lEUya-0001bW-Aa for guix-devel@gnu.org; Tue, 23 Feb 2021 05:31:33 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Guix-devel Subject: Rust packages and performance impact on Guix 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 11:31:31 +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: <87ft1n5b3w.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: -2.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: 46B72BE2A X-Spam-Score: -2.87 X-Migadu-Scanner: scn1.migadu.com X-TUID: eJb+Y3bz+oWw Hi! Ludovic Court=C3=A8s skribis: > but on =E2=80=98wip-build-systems-gexp=E2=80=99 I get: > > $ GUIX_PROFILING=3Dgc time ./pre-inst-env guix build qemu -d --no-grafts > /gnu/store/5n44l8cmrmkr747nsqbxpm4764jdsl3l-qemu-5.1.0.drv > Garbage collection statistics: > heap size: 80.52 MiB > allocated: 249.89 MiB > GC times: 16 > time spent in GC: 0.75 seconds (34% of user time) > 2.22user 0.13system 0:02.06elapsed 114%CPU (0avgtext+0avgdata 243532maxre= sident)k > 0inputs+0outputs (0major+34304minor)pagefaults 0swaps > > In short, 30% more garbage allocated and an 8% slowdown. In the meantime, librsvg on core-updates switched to the version that depends on Rust. As a result, the above command, on core-updates, went to ~2.25s on my laptop (+10=E2=80=9320%!). Would be nice to investigate. One issue is that =E2=80=98cargo-build-syste= m=E2=80=99 traverses packages. The =E2=80=98crate-closure=E2=80=99 call in there cert= ainly adds a fair bit of overhead. Could we avoid it? Thanks, Ludo=E2=80=99.