GNU bug report logs - #74654
[PATCH 0/5] Optimize 'all-packages'; add ungrafting manifest

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Mon, 2 Dec 2024 16:53:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #26 received at 74654 <at> debbugs.gnu.org (full text, mbox):

From: Efraim Flashner <efraim <at> flashner.co.il>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 74654 <at> debbugs.gnu.org
Subject: Re: [bug#74654] [PATCH 3/5] build-system/cargo: Simplify ‘crate-closure’.
Date: Mon, 2 Dec 2024 21:11:56 +0200
[Message part 1 (text/plain, inline)]
I test applied this on master and then went to build my rusty-packages
manifest. The time on './pre-inst-env guix build -m ... -n' went from 35
seconds to 20 seconds and the derivations didn't change.

On Mon, Dec 02, 2024 at 05:53:28PM +0100, Ludovic Courtès wrote:
> * guix/build-system/cargo.scm (crate-closure): Remove ‘first?’.
> 
> Change-Id: Ica1a661eb422a882ae3a1a54819b2dd7d68449de
> ---
>  guix/build-system/cargo.scm | 12 +++++-------
>  1 file changed, 5 insertions(+), 7 deletions(-)
> 
> diff --git a/guix/build-system/cargo.scm b/guix/build-system/cargo.scm
> index 658a2e525e..0e9a4b1d23 100644
> --- a/guix/build-system/cargo.scm
> +++ b/guix/build-system/cargo.scm
> @@ -1,5 +1,5 @@
>  ;;; GNU Guix --- Functional package management for GNU
> -;;; Copyright © 2013, 2014, 2015, 2016, 2019, 2021 Ludovic Courtès <ludo <at> gnu.org>
> +;;; Copyright © 2013-2016, 2019, 2021, 2024 Ludovic Courtès <ludo <at> gnu.org>
>  ;;; Copyright © 2013 Andreas Enge <andreas <at> enge.fr>
>  ;;; Copyright © 2013 Nikita Karetnikov <nikita <at> karetnikov.org>
>  ;;; Copyright © 2016 David Craven <david <at> craven.ch>
> @@ -227,24 +227,22 @@ (define (crate-closure inputs)
>    (let loop ((inputs     inputs)
>               (result     '())
>               (propagated '())
> -             (first?     #t)
>               (seen       vlist-null))
>      (match inputs
>        (()
>         (if (null? propagated)
>             (reverse result)
> -           (loop (reverse (concatenate propagated)) result '() #f seen)))
> +           (loop (reverse (concatenate propagated)) result '() seen)))
>        (((and input (label (? package? package))) rest ...)
> -       (if (and (not first?) (seen? seen package))
> -           (loop rest result propagated first? seen)
> +       (if (seen? seen package)
> +           (loop rest result propagated seen)
>             (loop rest
>                   (cons input result)
>                   (cons (package-cargo-inputs package)
>                         propagated)
> -                 first?
>                   (vhash-consq package package seen))))
>        ((input rest ...)
> -       (loop rest (cons input result) propagated first? seen)))))
> +       (loop rest (cons input result) propagated seen)))))
>  
>  (define (expand-crate-sources cargo-inputs cargo-development-inputs)
>    "Extract all transitive sources for CARGO-INPUTS and CARGO-DEVELOPMENT-INPUTS
> -- 
> 2.46.0
> 
> 
> 

-- 
Efraim Flashner   <efraim <at> flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 158 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.