Message ID | cover.1712656502.git.efraim@flashner.co.il |
---|---|
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 77D3C27BBEA; Tue, 9 Apr 2024 11:05:27 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id B454327BBE2 for <patchwork@mira.cbaines.net>; Tue, 9 Apr 2024 11:05:26 +0100 (BST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1ru8Le-0005oU-O9; Tue, 09 Apr 2024 06:05:02 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1ru8Lb-0005ni-Q0 for guix-patches@gnu.org; Tue, 09 Apr 2024 06:05:00 -0400 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1ru8La-0002Ol-Ha; Tue, 09 Apr 2024 06:04:58 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1ru8Le-0007wd-7r; Tue, 09 Apr 2024 06:05:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#70303] [PATCH 0/2] Use guile-final for grafting. Resent-From: Efraim Flashner <efraim@flashner.co.il> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix@cbaines.net, dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, rekado@elephly.net, zimon.toutoune@gmail.com, me@tobias.gr, guix-patches@gnu.org Resent-Date: Tue, 09 Apr 2024 10:05:02 +0000 Resent-Message-ID: <handler.70303.B.171265708230349@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 70303 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 70303@debbugs.gnu.org Cc: Efraim Flashner <efraim@flashner.co.il>, Christopher Baines <guix@cbaines.net>, Josselin Poiret <dev@jpoiret.xyz>, Ludovic =?utf-8?q?Court=C3=A8s?= <ludo@gnu.org>, Mathieu Othacehe <othacehe@gnu.org>, Ricardo Wurmus <rekado@elephly.net>, Simon Tournier <zimon.toutoune@gmail.com>, Tobias Geerinckx-Rice <me@tobias.gr> X-Debbugs-Original-To: guix-patches@gnu.org X-Debbugs-Original-Xcc: Christopher Baines <guix@cbaines.net>, Josselin Poiret <dev@jpoiret.xyz>, Ludovic =?utf-8?q?Court=C3=A8s?= <ludo@gnu.org>, Mathieu Othacehe <othacehe@gnu.org>, Ricardo Wurmus <rekado@elephly.net>, Simon Tournier <zimon.toutoune@gmail.com>, Tobias Geerinckx-Rice <me@tobias.gr> Received: via spool by submit@debbugs.gnu.org id=B.171265708230349 (code B ref -1); Tue, 09 Apr 2024 10:05:02 +0000 Received: (at submit) by debbugs.gnu.org; 9 Apr 2024 10:04:42 +0000 Received: from localhost ([127.0.0.1]:48315 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1ru8LF-0007sx-Uz for submit@debbugs.gnu.org; Tue, 09 Apr 2024 06:04:41 -0400 Received: from lists.gnu.org ([2001:470:142::17]:37340) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <efraim.flashner@gmail.com>) id 1ru8LB-0007rN-79 for submit@debbugs.gnu.org; Tue, 09 Apr 2024 06:04:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <efraim.flashner@gmail.com>) id 1ru8Kv-0005ii-FW for guix-patches@gnu.org; Tue, 09 Apr 2024 06:04:17 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <efraim.flashner@gmail.com>) id 1ru8Kt-0002Kg-FZ for guix-patches@gnu.org; Tue, 09 Apr 2024 06:04:17 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-416b606f3e3so958155e9.1 for <guix-patches@gnu.org>; Tue, 09 Apr 2024 03:04:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712657051; x=1713261851; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:from:to:cc:subject:date:message-id:reply-to; bh=CNvf12J4hH25EeC8eKVEbo5JR5RL4QcJsf0YU2AAMlw=; b=EA8xghWwcMGElpBdwJDVI0CDflvSJwmxp1z0uhmkl0VmmrjiHzh28eSDtZ60P/Vudv JdlOevZdXx8nEnIxZxjZVuIo+0cvE1NoZsbfQ9c3Sygir1Sauje8NRRpEJQeEavL7D8h vO/clVhFi71XY5YG4KerNkmRc1F6YcjA6jHQLei7ZFQx3HbxV8bl51wTlIw7bQB51ri1 pWw9M31AY/ncp8n2TBwrCzUKQpCUKWKOEBaBeAbEkVT/zljrfcusLAZ5CuiOfgpuh2c9 02EnaT8x0ZPOD5y2XYzDOLYhiReMw+yYIlQJh1J7hBjr30/A+br3DwuqxHm8567tzwbl eS0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712657051; x=1713261851; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:sender:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CNvf12J4hH25EeC8eKVEbo5JR5RL4QcJsf0YU2AAMlw=; b=JEYDTDLaI2gM3rW1dairGMwDtwcyAcf0ZXwVSStc3984r8Iv9PRTrs11aDNZXQvsPP LO2kGmrm/BDbibinXTzYQeifiyP/gCS1hJAO9RhRG/yrnqatsOckjMbM246LhxoqC0Uv roYtONFoqzgLeTcDIkDVASYz6wzmUuEeBl7hjU615y5PryOJt6ikFNg1iBqUzVZkzZas OanOWwbcdrYtC32c4Ss46qcC99KnE5Zw5Ee5YqGyZBcQXy+akhcoh5N8Vf7n4gjGNv+9 Z8ieNMmjXQgydHeWFgWg2m1gxVv/l25crTXBJebk+nCXbSh7OEIHgLlzpvC1fJFSqrMn sNlA== X-Gm-Message-State: AOJu0YysacGlPn6cFrqhl3R5M0nirnharSGYjsUaekVj6bSjpHJ366ax hWEc5UVFR5VP/HgMLrpAkDqvrlg151TymqoR8jmD9LU+fWoKJtso7pWXF+laKZY= X-Google-Smtp-Source: AGHT+IH3EHojIR9NVytYdi/MVdoYLB0IjLn8TobEHJy1LOFjWxuMM6j3STZE5AKOcYvFqIoOHWoPMw== X-Received: by 2002:a05:600c:c89:b0:416:b91c:f310 with SMTP id fj9-20020a05600c0c8900b00416b91cf310mr58424wmb.22.1712657051121; Tue, 09 Apr 2024 03:04:11 -0700 (PDT) Received: from localhost ([141.226.11.200]) by smtp.gmail.com with ESMTPSA id p14-20020a05600c358e00b0041674bf7d4csm6647892wmq.48.2024.04.09.03.04.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Apr 2024 03:04:10 -0700 (PDT) From: Efraim Flashner <efraim@flashner.co.il> Date: Tue, 9 Apr 2024 13:03:58 +0300 Message-ID: <cover.1712656502.git.efraim@flashner.co.il> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=efraim.flashner@gmail.com; helo=mail-wm1-x32c.google.com X-Spam_score_int: -17 X-Spam_score: -1.8 X-Spam_bar: - X-Spam_report: (-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.248, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
Use guile-final for grafting.
|
|
Message
Efraim Flashner
April 9, 2024, 10:03 a.m. UTC
Over the years the grafting code has changed bit by bit, with various attempts to speed it up. By switching the grafts to not use parallelism in rewriting the leaves we can finally switch the guile-for-grafts to be guile-final. The segfault is still there if we perform the grafts in parallel, but I believe it is fast enough that it should be fine to do them sequentially. There's probably room in replace-store-references in (guix build graft) for changes if we're not going to use guile-2.0 here anymore. There are also a number of default guiles in (guix grafts) which should maybe be %guile-for-grafts instead of %guile-for-build. Efraim Flashner (2): graft: Remove work-around for old guile. graft: Perform grafts with guile-final. guix/build/graft.scm | 55 +++++--------------------------------------- guix/packages.scm | 6 ++--- 2 files changed, 8 insertions(+), 53 deletions(-) base-commit: 51de844a0ff6ea224367a384092896bce6848b9f prerequisite-patch-id: ea387a4f9d860397a26c840c11c8742f0ac70fc3
Comments
Howdy! Efraim Flashner <efraim@flashner.co.il> skribis: > Over the years the grafting code has changed bit by bit, with various > attempts to speed it up. By switching the grafts to not use parallelism > in rewriting the leaves we can finally switch the guile-for-grafts to be > guile-final. The segfault is still there if we perform the grafts in > parallel, but I believe it is fast enough that it should be fine to do > them sequentially. Could you time the grafting derivation of, say, libreoffice or ungoogled-chromium? Typically I’d do it along these lines: --8<---------------cut here---------------start------------->8--- $ guix build libreoffice /gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1 $ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' $ time guix build libreoffice --check The following graft will be made: /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv applying 137 grafts for libreoffice-7.6.3.1 ... grafting '/gnu/store/5flppg3h8y235di2ilr3sx878gfl82db-libreoffice-7.6.3.1' -> '/gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1'... successfully built /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv successfully built /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv /gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1 real 0m14.921s user 0m7.588s sys 0m0.389s --8<---------------cut here---------------end--------------->8--- (That’s on my 4-core i7.) It’s a bummer that the segfault is still there. I remember week-long ‘rr’ debugging sessions in the past, where I did find a few issues; I should try again but uh… > There's probably room in replace-store-references in (guix build graft) > for changes if we're not going to use guile-2.0 here anymore. I believe ‘tests/grafts.scm’ may run some of this code under Guile 2.0 (using the ‘guile-bootstrap’ tarball provided for the tests). Thanks, Ludo’.
On Mon, Apr 15, 2024 at 10:28:17PM +0200, Ludovic Courtès wrote: > Howdy! > > Efraim Flashner <efraim@flashner.co.il> skribis: > > > Over the years the grafting code has changed bit by bit, with various > > attempts to speed it up. By switching the grafts to not use parallelism > > in rewriting the leaves we can finally switch the guile-for-grafts to be > > guile-final. The segfault is still there if we perform the grafts in > > parallel, but I believe it is fast enough that it should be fine to do > > them sequentially. > > Could you time the grafting derivation of, say, libreoffice or > ungoogled-chromium? > > Typically I’d do it along these lines: > > --8<---------------cut here---------------start------------->8--- > $ guix build libreoffice > /gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1 > $ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' > $ time guix build libreoffice --check > The following graft will be made: > /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv > applying 137 grafts for libreoffice-7.6.3.1 ... > grafting '/gnu/store/5flppg3h8y235di2ilr3sx878gfl82db-libreoffice-7.6.3.1' -> '/gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1'... > successfully built /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv > successfully built /gnu/store/wdjqpxm2kbdvq7qlrzyjxb244zn3s3bv-libreoffice-7.6.3.1.drv > /gnu/store/24is7ypdx6sm56mkclxdx4hyj7yg4smb-libreoffice-7.6.3.1 > > real 0m14.921s > user 0m7.588s > sys 0m0.389s > --8<---------------cut here---------------end--------------->8--- > > (That’s on my 4-core i7.) I'm currently vising my parents for a few weeks during the Passover break, and I've already lost connection to my desktop at home, so I'm currently running the tests on my pinebook pro. The first one is with the patches applied, the second one is without the patches. I have the guix-daemon on my pinebook pro to use 3 cores, but I'm not sure how much that would be honored by the grafting code. (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' Password: (ins)efraim@pbp ~/workspace/guix$ time ./pre-inst-env guix build libreoffice --check The following graft will be made: /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv applying 137 grafts for libreoffice-7.6.3.1 ... grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1'... successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv /gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1 real 1m35.537s user 0m32.328s sys 0m2.521s (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' (ins)efraim@pbp ~/workspace/guix$ time guix build libreoffice --check The following graft will be made: /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv applying 137 grafts for libreoffice-7.6.3.1 ... grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1'... successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv /gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1 real 1m20.573s user 0m29.688s sys 0m2.346s
Hi! Efraim Flashner <efraim@flashner.co.il> skribis: > The first one is with the patches applied, the second one is without the > patches. I have the guix-daemon on my pinebook pro to use 3 cores, but > I'm not sure how much that would be honored by the grafting code. > > (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' > Password: > (ins)efraim@pbp ~/workspace/guix$ time ./pre-inst-env guix build libreoffice --check > The following graft will be made: > /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv > applying 137 grafts for libreoffice-7.6.3.1 ... > grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1'... > successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv > successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv > /gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1 > > real 1m35.537s > user 0m32.328s > sys 0m2.521s > (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' > (ins)efraim@pbp ~/workspace/guix$ time guix build libreoffice --check > The following graft will be made: > /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv > applying 137 grafts for libreoffice-7.6.3.1 ... > grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1'... > successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv > successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv > /gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1 > > real 1m20.573s > user 0m29.688s > sys 0m2.346s That’s an 18% slowdown. Could you make several runs to see how stable that is? Thanks, Ludo’.
Hi Efraim, Ludovic Courtès <ludo@gnu.org> skribis: > Efraim Flashner <efraim@flashner.co.il> skribis: > >> The first one is with the patches applied, the second one is without the >> patches. I have the guix-daemon on my pinebook pro to use 3 cores, but >> I'm not sure how much that would be honored by the grafting code. >> >> (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' >> Password: >> (ins)efraim@pbp ~/workspace/guix$ time ./pre-inst-env guix build libreoffice --check >> The following graft will be made: >> /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv >> applying 137 grafts for libreoffice-7.6.3.1 ... >> grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1'... >> successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv >> successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv >> /gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1 >> >> real 1m35.537s >> user 0m32.328s >> sys 0m2.521s >> (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' >> (ins)efraim@pbp ~/workspace/guix$ time guix build libreoffice --check >> The following graft will be made: >> /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv >> applying 137 grafts for libreoffice-7.6.3.1 ... >> grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1'... >> successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv >> successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv >> /gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1 >> >> real 1m20.573s >> user 0m29.688s >> sys 0m2.346s > > That’s an 18% slowdown. Could you make several runs to see how stable > that is? Looks like this patch fell through the cracks. Maybe we should just go ahead and apply it. Depending on Guile 2.0 for this isn’t viable in the long term anyway. WDYT? Ludo’.
On Thu, Jul 18, 2024 at 05:14:27PM +0200, Ludovic Courtès wrote: > Hi Efraim, > > Ludovic Courtès <ludo@gnu.org> skribis: > > > Efraim Flashner <efraim@flashner.co.il> skribis: > > > >> The first one is with the patches applied, the second one is without the > >> patches. I have the guix-daemon on my pinebook pro to use 3 cores, but > >> I'm not sure how much that would be honored by the grafting code. > >> > >> (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' > >> Password: > >> (ins)efraim@pbp ~/workspace/guix$ time ./pre-inst-env guix build libreoffice --check > >> The following graft will be made: > >> /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv > >> applying 137 grafts for libreoffice-7.6.3.1 ... > >> grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1'... > >> successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv > >> successfully built /gnu/store/i2aml4p5yg7h090bdzjpaqmds47g26d8-libreoffice-7.6.3.1.drv > >> /gnu/store/1cfjx934czp641v4fmwsz2js7158ivgm-libreoffice-7.6.3.1 > >> > >> real 1m35.537s > >> user 0m32.328s > >> sys 0m2.521s > >> (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' > >> (ins)efraim@pbp ~/workspace/guix$ time guix build libreoffice --check > >> The following graft will be made: > >> /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv > >> applying 137 grafts for libreoffice-7.6.3.1 ... > >> grafting '/gnu/store/yd9slkfhdl8lzhhmhm40airimwb6yhj5-libreoffice-7.6.3.1' -> '/gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1'... > >> successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv > >> successfully built /gnu/store/2f6i7r77z8msbjlspsp0aq5vlpjqnifp-libreoffice-7.6.3.1.drv > >> /gnu/store/xm3q8qsns8qqybq47zvv70n0y0qs4r65-libreoffice-7.6.3.1 > >> > >> real 1m20.573s > >> user 0m29.688s > >> sys 0m2.346s > > > > That’s an 18% slowdown. Could you make several runs to see how stable > > that is? > > Looks like this patch fell through the cracks. > > Maybe we should just go ahead and apply it. Depending on Guile 2.0 for > this isn’t viable in the long term anyway. > > WDYT? Since your email I've been playing with it a bit more. I switched from libreoffice to python since libreoffice isn't built yet for aarch64. Before the patches (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' (ins)efraim@pbp ~/workspace/guix$ time ./pre-inst-env guix build python --check The following graft will be made: /gnu/store/b460sh7szir8rf13rjci9cpcbnwgsr04-python-3.10.7.drv applying 16 grafts for python-3.10.7 ... grafting '/gnu/store/qc7n1mflwv12prx185w5wqd95nry5jl1-python-3.10.7-idle' -> '/gnu/store/g3lna24jdg6giddy79kij35kqv9fyr0r-python-3.10.7-idle'... grafting '/gnu/store/vsy0hfgcvrw6fnz53qqqk8ss3c67x2qi-python-3.10.7' -> '/gnu/store/697bsvp9vzj4h6zn3gpgg04h8w36mprl-python-3.10.7'... grafting '/gnu/store/8nj5cwhbfbwb3lf33wsa51rg0v2qbwjb-python-3.10.7-tk' -> '/gnu/store/f051i1aa74z5js30fm4vg4mccsf070w9-python-3.10.7-tk'... successfully built /gnu/store/b460sh7szir8rf13rjci9cpcbnwgsr04-python-3.10.7.drv successfully built /gnu/store/b460sh7szir8rf13rjci9cpcbnwgsr04-python-3.10.7.drv successfully built /gnu/store/b460sh7szir8rf13rjci9cpcbnwgsr04-python-3.10.7.drv successfully built /gnu/store/b460sh7szir8rf13rjci9cpcbnwgsr04-python-3.10.7.drv /gnu/store/g3lna24jdg6giddy79kij35kqv9fyr0r-python-3.10.7-idle /gnu/store/697bsvp9vzj4h6zn3gpgg04h8w36mprl-python-3.10.7 /gnu/store/f051i1aa74z5js30fm4vg4mccsf070w9-python-3.10.7-tk real 0m52.734s user 0m8.821s sys 0m1.489s After the patches (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' (ins)efraim@pbp ~/workspace/guix$ time ./pre-inst-env guix build python --check The following graft will be made: /gnu/store/ny03k54s1f0dffn9rywsmf7rd2znsnn5-python-3.10.7.drv applying 16 grafts for python-3.10.7 ... grafting '/gnu/store/qc7n1mflwv12prx185w5wqd95nry5jl1-python-3.10.7-idle' -> '/gnu/store/s6gh2f9fnpsrjhb9arcwvk7ydr2yynd0-python-3.10.7-idle'... grafting '/gnu/store/vsy0hfgcvrw6fnz53qqqk8ss3c67x2qi-python-3.10.7' -> '/gnu/store/w1nk4b8zadnrzd8m8dgfiyhfpm4d2s89-python-3.10.7'... grafting '/gnu/store/8nj5cwhbfbwb3lf33wsa51rg0v2qbwjb-python-3.10.7-tk' -> '/gnu/store/na5an7jrlwvv4ykl5dvmw303dlsavznq-python-3.10.7-tk'... successfully built /gnu/store/ny03k54s1f0dffn9rywsmf7rd2znsnn5-python-3.10.7.drv successfully built /gnu/store/ny03k54s1f0dffn9rywsmf7rd2znsnn5-python-3.10.7.drv successfully built /gnu/store/ny03k54s1f0dffn9rywsmf7rd2znsnn5-python-3.10.7.drv successfully built /gnu/store/ny03k54s1f0dffn9rywsmf7rd2znsnn5-python-3.10.7.drv /gnu/store/s6gh2f9fnpsrjhb9arcwvk7ydr2yynd0-python-3.10.7-idle /gnu/store/w1nk4b8zadnrzd8m8dgfiyhfpm4d2s89-python-3.10.7 /gnu/store/na5an7jrlwvv4ykl5dvmw303dlsavznq-python-3.10.7-tk real 1m22.324s user 0m8.758s sys 0m1.621s There was an unconditional mkdir-p in the graft code that I made check for the directory first (ins)efraim@pbp ~/workspace/guix$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches' (ins)efraim@pbp ~/workspace/guix$ time ./pre-inst-env guix build python --check The following graft will be made: /gnu/store/jryp0i86fll06swc856d5njyf4knzw7z-python-3.10.7.drv applying 16 grafts for python-3.10.7 ... grafting '/gnu/store/qc7n1mflwv12prx185w5wqd95nry5jl1-python-3.10.7-idle' -> '/gnu/store/z5zw3f31x7xp71lw9rihkvcf7pmsyz0k-python-3.10.7-idle'... grafting '/gnu/store/vsy0hfgcvrw6fnz53qqqk8ss3c67x2qi-python-3.10.7' -> '/gnu/store/k6kvr48gcjn9z4q3gd51wyddinyxxcw2-python-3.10.7'... grafting '/gnu/store/8nj5cwhbfbwb3lf33wsa51rg0v2qbwjb-python-3.10.7-tk' -> '/gnu/store/gwync0539a5ixgds3k97440zg7miqiq1-python-3.10.7-tk'... successfully built /gnu/store/jryp0i86fll06swc856d5njyf4knzw7z-python-3.10.7.drv successfully built /gnu/store/jryp0i86fll06swc856d5njyf4knzw7z-python-3.10.7.drv successfully built /gnu/store/jryp0i86fll06swc856d5njyf4knzw7z-python-3.10.7.drv successfully built /gnu/store/jryp0i86fll06swc856d5njyf4knzw7z-python-3.10.7.drv /gnu/store/z5zw3f31x7xp71lw9rihkvcf7pmsyz0k-python-3.10.7-idle /gnu/store/k6kvr48gcjn9z4q3gd51wyddinyxxcw2-python-3.10.7 /gnu/store/gwync0539a5ixgds3k97440zg7miqiq1-python-3.10.7-tk real 1m7.380s user 0m8.990s sys 0m1.617s Then I re-enabled n-par-for-each (without exit-on-exception) (ins)efraim@pbp ~/workspace/guix$ time ./pre-inst-env guix build python --check The following graft will be made: /gnu/store/3kr7477zfivxxan5r6ljl81cq3p1j9m8-python-3.10.7.drv applying 16 grafts for python-3.10.7 ... grafting '/gnu/store/qc7n1mflwv12prx185w5wqd95nry5jl1-python-3.10.7-idle' -> '/gnu/store/r9dw90ijwyrzl39yind3iza5bpbcvys2-python-3.10.7-idle'... grafting '/gnu/store/vsy0hfgcvrw6fnz53qqqk8ss3c67x2qi-python-3.10.7' -> '/gnu/store/0zzck57k9321h7lhzlfw5wr87jyqpiv3-python-3.10.7'... grafting '/gnu/store/8nj5cwhbfbwb3lf33wsa51rg0v2qbwjb-python-3.10.7-tk' -> '/gnu/store/v4wg35f62r546hy8f2lbsf51vb8rh0jz-python-3.10.7-tk'... successfully built /gnu/store/3kr7477zfivxxan5r6ljl81cq3p1j9m8-python-3.10.7.drv successfully built /gnu/store/3kr7477zfivxxan5r6ljl81cq3p1j9m8-python-3.10.7.drv successfully built /gnu/store/3kr7477zfivxxan5r6ljl81cq3p1j9m8-python-3.10.7.drv successfully built /gnu/store/3kr7477zfivxxan5r6ljl81cq3p1j9m8-python-3.10.7.drv /gnu/store/r9dw90ijwyrzl39yind3iza5bpbcvys2-python-3.10.7-idle /gnu/store/0zzck57k9321h7lhzlfw5wr87jyqpiv3-python-3.10.7 /gnu/store/v4wg35f62r546hy8f2lbsf51vb8rh0jz-python-3.10.7-tk real 0m55.129s user 0m9.082s sys 0m1.612s I only have 3 cores enabled on my pinebook pro so I can't really comment on weather n-par-for-each does in fact still trigger segfaults in the grafting code, but I haven't seen any.