GNU logs - #50755, boring messages


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH] import: Generate list of importers based on available modules
Resent-From: pinoaffe <pinoaffe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Thu, 23 Sep 2021 12:25:02 +0000
Resent-Message-ID: <handler.50755.B.163239987210725 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 50755 <at> debbugs.gnu.org
X-Debbugs-Original-To: guix-patches@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.163239987210725
          (code B ref -1); Thu, 23 Sep 2021 12:25:02 +0000
Received: (at submit) by debbugs.gnu.org; 23 Sep 2021 12:24:32 +0000
Received: from localhost ([127.0.0.1]:52909 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mTNmC-0002mv-Bs
	for submit <at> debbugs.gnu.org; Thu, 23 Sep 2021 08:24:32 -0400
Received: from lists.gnu.org ([209.51.188.17]:45028)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pinoaffe@HIDDEN>) id 1mTNmA-0002ml-Tl
 for submit <at> debbugs.gnu.org; Thu, 23 Sep 2021 08:24:31 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:50396)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <pinoaffe@HIDDEN>)
 id 1mTNmA-0001ez-Ix
 for guix-patches@HIDDEN; Thu, 23 Sep 2021 08:24:30 -0400
Received: from mail.cock.li ([37.120.193.124]:47924)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <pinoaffe@HIDDEN>)
 id 1mTNm6-0001e9-Tp
 for guix-patches@HIDDEN; Thu, 23 Sep 2021 08:24:29 -0400
User-agent: mu4e 1.4.15; emacs 27.2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1632399860; bh=fy/v8WNTiBQXJDhlTdyH3sx7QTLo8hXvfkNnYaPKwPc=;
 h=From:To:Subject:Date:From;
 b=1SvPExn4vCuv2lvdfiFm/7QcDCKHDOfZyDO9NLwP3+qU/duSkrPfL3FKWxfvvAEkf
 NoIVcE/tyRMxFLTyxj1Y9rO9WUFS6oii6DT3HFFYAv/nfJpuyl4z7fxdI8bZ5m4nPX
 U3ZFgUUwbUEIoK6KWgD9im0FfGmo3kJvFo2EjrTlgMUulRZkOLPp1BjpEn7Op+OzlL
 1Qjnv1eZjm2Di3n8FZuNlr+tc2Y2Ijs7263ElcbfQHG8KnL0/zbOu/7zGolZGQxWc7
 BGt3BGtudhwO2W/cxDP0iGYpDSmO/y92G4EHtgBMFLsPE8BlPQFezhzBpANiRoCEW6
 RTtjp2HC2q+pQ==
From: pinoaffe <pinoaffe@HIDDEN>
Date: Thu, 23 Sep 2021 14:24:19 +0200
Message-ID: <87tuibh43w.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
Received-SPF: pass client-ip=37.120.193.124; envelope-from=pinoaffe@HIDDEN;
 helo=mail.cock.li
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.4 (-)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.4 (--)


* guix/scripts/import.scm (importers): Generate a list of all importers by
looping over available guile modules, allowing for extensibility.
---
 guix/scripts/import.scm | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm
index 40fa6759ae..44cbaf13d6 100644
--- a/guix/scripts/import.scm
+++ b/guix/scripts/import.scm
@@ -23,6 +23,7 @@
 
 (define-module (guix scripts import)
   #:use-module (guix ui)
+  #:use-module (guix discovery)
   #:use-module (guix scripts)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1)
@@ -78,9 +79,11 @@ rather than \\n."
 ;;; Entry point.
 ;;;
 
-(define importers '("gnu" "pypi" "cpan" "hackage" "stackage" "egg" "elpa"
-                    "gem" "go" "cran" "crate" "texlive" "json" "opam"
-                    "minetest"))
+(define importers (map (lambda (module)
+                         (symbol->string (caddr (module-name module))))
+                       (all-modules (map (lambda (entry)
+                                           `(,entry . "guix/import"))
+                                         %load-path))))
 
 (define (resolve-importer name)
   (let ((module (resolve-interface
-- 
2.32.0





Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: pinoaffe <pinoaffe@HIDDEN>
Subject: bug#50755: Acknowledgement ([PATCH] import: Generate list of
 importers based on available modules)
Message-ID: <handler.50755.B.163239987210725.ack <at> debbugs.gnu.org>
References: <87tuibh43w.fsf@HIDDEN>
X-Gnu-PR-Message: ack 50755
X-Gnu-PR-Package: guix-patches
X-Gnu-PR-Keywords: patch
Reply-To: 50755 <at> debbugs.gnu.org
Date: Thu, 23 Sep 2021 12:25:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 guix-patches@HIDDEN

If you wish to submit further information on this problem, please
send it to 50755 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
50755: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D50755
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH] import: Generate list of importers based on available modules
Resent-From: Sarah Morgensen <iskarian@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Thu, 23 Sep 2021 18:08:01 +0000
Resent-Message-ID: <handler.50755.B50755.16324204713829 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: pinoaffe <pinoaffe@HIDDEN>
Cc: 50755 <at> debbugs.gnu.org
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.16324204713829
          (code B ref 50755); Thu, 23 Sep 2021 18:08:01 +0000
Received: (at 50755) by debbugs.gnu.org; 23 Sep 2021 18:07:51 +0000
Received: from localhost ([127.0.0.1]:55826 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mTT8Q-0000zh-NJ
	for submit <at> debbugs.gnu.org; Thu, 23 Sep 2021 14:07:50 -0400
Received: from out0.migadu.com ([94.23.1.103]:61372)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <iskarian@HIDDEN>) id 1mTT8K-0000zQ-T1
 for 50755 <at> debbugs.gnu.org; Thu, 23 Sep 2021 14:07:48 -0400
X-Report-Abuse: Please report any abuse attempt to abuse@HIDDEN and
 include these headers.
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mgsn.dev; s=key1;
 t=1632420463;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 in-reply-to:in-reply-to:references:references;
 bh=MJveT8oUsZwmBf40p1G2ZSxKCmKDyJMA1XmZGSPQK6Y=;
 b=e+bz81ZkAcWyY73DpMM8XpAscIU+PTTdJWp9YDTP6Aj3et9C9GlpDBbg9JZw/S9RYD8wB2
 +popm7O/GVeVkTa2gB2Ve0VTNIb+3N20dCWCBKjyu63TszvlwD8LoQ5C71v3Hiw4Bl9egC
 MVOxV18POGM6C0X2gLa+BFsNxcGvXEM=
From: Sarah Morgensen <iskarian@HIDDEN>
References: <87tuibh43w.fsf@HIDDEN>
Date: Thu, 23 Sep 2021 11:07:40 -0700
In-Reply-To: <87tuibh43w.fsf@HIDDEN> (pinoaffe@HIDDEN's message of
 "Thu, 23 Sep 2021 14:24:19 +0200 (5 hours, 37 minutes, 21 seconds ago)")
Message-ID: <86pmszkvwz.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Migadu-Flow: FLOW_OUT
X-Migadu-Auth-User: iskarian@HIDDEN
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hello,

This looks like a good improvement! Thanks for submitting the patch.
Just reading ths, I have a couple comments.

pinoaffe <pinoaffe@HIDDEN> writes:

> * guix/scripts/import.scm (importers): Generate a list of all importers by
> looping over available guile modules, allowing for extensibility.
> ---
>  guix/scripts/import.scm | 9 ++++++---
>  1 file changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm
> index 40fa6759ae..44cbaf13d6 100644
> --- a/guix/scripts/import.scm
> +++ b/guix/scripts/import.scm
> @@ -23,6 +23,7 @@
>  
>  (define-module (guix scripts import)
>    #:use-module (guix ui)
> +  #:use-module (guix discovery)
>    #:use-module (guix scripts)
>    #:use-module (guix utils)
>    #:use-module (srfi srfi-1)
> @@ -78,9 +79,11 @@ rather than \\n."
>  ;;; Entry point.
>  ;;;
>  
> -(define importers '("gnu" "pypi" "cpan" "hackage" "stackage" "egg" "elpa"
> -                    "gem" "go" "cran" "crate" "texlive" "json" "opam"
> -                    "minetest"))
> +(define importers (map (lambda (module)
> +                         (symbol->string (caddr (module-name module))))

Prefer ice-9 'match'/'match-lambda' over 'car'/'cadr'/'caddr'/etc, or if
necessary, SRFI-1 'first', 'second', ..., 'last'.

> +                       (all-modules (map (lambda (entry)
> +                                           `(,entry . "guix/import"))
                         should this be guix/scripts/import? ^

> +                                         %load-path))))
>  
>  (define (resolve-importer name)
>    (let ((module (resolve-interface

--
Sarah




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH] import: Generate list of importers based on available modules
Resent-From: pinoaffe <pinoaffe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Thu, 23 Sep 2021 21:19:02 +0000
Resent-Message-ID: <handler.50755.B50755.163243188216904 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: Sarah Morgensen <iskarian@HIDDEN>
Cc: 50755 <at> debbugs.gnu.org
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.163243188216904
          (code B ref 50755); Thu, 23 Sep 2021 21:19:02 +0000
Received: (at 50755) by debbugs.gnu.org; 23 Sep 2021 21:18:02 +0000
Received: from localhost ([127.0.0.1]:56030 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mTW6U-0004Oa-Du
	for submit <at> debbugs.gnu.org; Thu, 23 Sep 2021 17:18:02 -0400
Received: from mail.cock.li ([37.120.193.124]:35318)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pinoaffe@HIDDEN>) id 1mTW6P-0004Nt-MV
 for 50755 <at> debbugs.gnu.org; Thu, 23 Sep 2021 17:18:00 -0400
References: <87tuibh43w.fsf@HIDDEN> <86pmszkvwz.fsf@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1632431870; bh=PexQXZIX+MOeWXoJDv3TcNaAosF8ZoKMRiX7TQrFoRU=;
 h=References:From:To:Cc:Subject:In-reply-to:Date:From;
 b=yXSr+2Fegb5vzlowKHhdXgsBF5meQQ9Un2w+vb+Ul88bk9HDEfzIbxY7mfuYwRdNo
 WJueu6dm4OLQC+eubNulQvu15bd4jicH15CUVDKNYJxKwdvJs7OJAoMV6M6+4C2a11
 J3uAaMTF4GK5Yh4B34vRBbdDKqYFVFtDoLV+1MoasI5fjstpOBtwlP0uTpflhBZgwH
 jGc5iHvqOi1vA5t59TlGUevJE73S05ncwqkl26Ck19ST4Ic6I568GIw5PGhheKGytC
 HsnlRdDL/k8wkF+WqSTgAJ6jCEVkcqJmQXCa791O7ytsZlOGDwhPew9auU+qhyoxUj
 hcU/pRGHSMx8w==
User-agent: mu4e 1.4.15; emacs 27.2
From: pinoaffe <pinoaffe@HIDDEN>
In-reply-to: <86pmszkvwz.fsf@HIDDEN>
Date: Thu, 23 Sep 2021 23:17:49 +0200
Message-ID: <87zgs3oute.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi, thanks for the comments!

Sarah Morgensen writes:
> Prefer ice-9 'match'/'match-lambda' over 'car'/'cadr'/'caddr'/etc, or if
> necessary, SRFI-1 'first', 'second', ..., 'last'.
okay, I'll change this

>                          should this be guix/scripts/import? ^
It definitely should be, oopsidaisy :)

will send a new patch in a sec




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v2] import: Generate list of importers based on available modules
References: <87tuibh43w.fsf@HIDDEN>
In-Reply-To: <87tuibh43w.fsf@HIDDEN>
Resent-From: pinoaffe <pinoaffe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Thu, 23 Sep 2021 21:20:01 +0000
Resent-Message-ID: <handler.50755.B50755.163243199617110 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 50755 <at> debbugs.gnu.org
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.163243199617110
          (code B ref 50755); Thu, 23 Sep 2021 21:20:01 +0000
Received: (at 50755) by debbugs.gnu.org; 23 Sep 2021 21:19:56 +0000
Received: from localhost ([127.0.0.1]:56042 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mTW8K-0004Ru-4F
	for submit <at> debbugs.gnu.org; Thu, 23 Sep 2021 17:19:56 -0400
Received: from mail.cock.li ([37.120.193.124]:36312)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pinoaffe@HIDDEN>) id 1mTW8J-0004Rg-8c
 for 50755 <at> debbugs.gnu.org; Thu, 23 Sep 2021 17:19:55 -0400
User-agent: mu4e 1.4.15; emacs 27.2
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1632431989; bh=x0zhPYxTfkpkzvap2CaRHPIXYdpQ21S74I0/9H4qAp8=;
 h=From:To:Subject:Date:From;
 b=pVEo7aWVfyp0CUD93H3HFCCebndOOoTgB4bfjuRGDLzqXd/9XTrcgBhlJPlfApgf+
 BGKpHINq6Sc28dvbc8l4SGJzLc1OHx8vrBhd91Rzcqe2J5VpUrAfM5IQITofXXba/o
 8JtfRZF+MDEzkUhOn1qN433ooBH/I/n+CGavTpaCWj1tQHArfsrV+hgMZoIY2G/Zco
 pI1xaLnvmDAZdl5GV5rTUP6boh4sZiEuQMKVBkgE1ppj7uFftMOiG8PrDNZEjN0Qps
 wGO9rfzeyIYtMI+7fVBt1dwbXNNEwH+fBcuHQcLDX3cW1+mNf8WkhxouurKV3Ybl5A
 4uBlDnb/RFyaA==
From: pinoaffe <pinoaffe@HIDDEN>
Date: Thu, 23 Sep 2021 23:19:48 +0200
Message-ID: <87wnn7ouq3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


* guix/scripts/import.scm (importers): Generate a list of all importers by
looping over available guile modules, allowing for extensibility.
---
 guix/scripts/import.scm | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm
index 40fa6759ae..ed702d3bff 100644
--- a/guix/scripts/import.scm
+++ b/guix/scripts/import.scm
@@ -23,6 +23,7 @@
 
 (define-module (guix scripts import)
   #:use-module (guix ui)
+  #:use-module (guix discovery)
   #:use-module (guix scripts)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1)
@@ -78,9 +79,14 @@ rather than \\n."
 ;;; Entry point.
 ;;;
 
-(define importers '("gnu" "pypi" "cpan" "hackage" "stackage" "egg" "elpa"
-                    "gem" "go" "cran" "crate" "texlive" "json" "opam"
-                    "minetest"))
+(define importers (filter-map (lambda (module)
+                                (match (module-name module)
+                                  (`(guix scripts import ,importer)
+                                   (symbol->string importer))
+                                  ( #t #f)))
+                              (all-modules (map (lambda (entry)
+                                                  `(,entry . "guix/scripts/import"))
+                                                %load-path))))
 
 (define (resolve-importer name)
   (let ((module (resolve-interface
-- 
2.32.0





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v2] import: Generate list of importers based on available modules
Resent-From: zimoun <zimon.toutoune@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 27 Sep 2021 14:29:02 +0000
Resent-Message-ID: <handler.50755.B50755.163275293429931 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: pinoaffe <pinoaffe@HIDDEN>
Cc: 50755 <at> debbugs.gnu.org
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.163275293429931
          (code B ref 50755); Mon, 27 Sep 2021 14:29:02 +0000
Received: (at 50755) by debbugs.gnu.org; 27 Sep 2021 14:28:54 +0000
Received: from localhost ([127.0.0.1]:42310 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mUrck-0007mh-Be
	for submit <at> debbugs.gnu.org; Mon, 27 Sep 2021 10:28:54 -0400
Received: from mail-qk1-f178.google.com ([209.85.222.178]:41849)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <zimon.toutoune@HIDDEN>) id 1mUrce-0007mO-TM
 for 50755 <at> debbugs.gnu.org; Mon, 27 Sep 2021 10:28:52 -0400
Received: by mail-qk1-f178.google.com with SMTP id m7so20092950qke.8
 for <50755 <at> debbugs.gnu.org>; Mon, 27 Sep 2021 07:28:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=0R26zy0JvTG/ZwCflVNYiYXi5Pob1eJUj8CAxfCCfMk=;
 b=FBP+v4dOOHnoG0WeLsfTFWckX3TMDYnFNdXYMfhpbjfBOFVd9QeCH5hHeK/T7PP0bx
 qKF/HaTF9tkEMJ0C1NI/Qypibj+1rLbhiCn0dsqZjxAPtRXeNYQ2jis7y8FFwf/LirVz
 z3CKhwjvP2/GPEpVWm42qg1lORTxTvZ+AsIMJtOXPb4R29dzizWSAmuOMAHNNyszZRW7
 9fEF+/wUiXaubEJl/Q/s7xdlW2jD2faaMPMkszfO506cxFv7QZq1LP0mKF1vVd6j3WcD
 X5oZyM48Skix8MCXSnu+kH7agDIAPmaeZ/caqpfETVmW/Wznes/M8j6PzfdXspVY5Nyu
 wQUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=0R26zy0JvTG/ZwCflVNYiYXi5Pob1eJUj8CAxfCCfMk=;
 b=PBX6rL/rYSp8MQR47TY1DisIYfnIcLqLBBHOc2k3m1LdSJouQy1BDlxgpjxz8onHU9
 eFlfnb7uGR6cW5ypQWy6p2zFZuQu+TkkJE5pW5TNz/qxLZxiDKKzYXst2Aa4BsZ0wTrH
 O6ysiDV0eGi+DKKtxhwgMA8/AzJq3w/SS/0bJQo1gTFJPIJv84QyVgGiSqThnxP9UCAz
 EAr+v0Flm/PqsrRtQ4kNPwczZ5cPBE274SbYG2eqZQYkWeCTwBnSK+Z7o63+XPhfdJlL
 eEfIRsFGNhs2qnxRb9mW1SJL47dSuWiL0Tg+L9vz5ix6PNnZBwEbaG0fBCeoKTJ485Jw
 2Mqw==
X-Gm-Message-State: AOAM530QCTr+HapiLyXrNCcP35HUdL5v14Z5ZpIn0cOND3+W1l4XNg9F
 1OuS6gEa54/XGpC4+2WhgZ0RwDjsOdOCC+K849VquL6JmRQ=
X-Google-Smtp-Source: ABdhPJxtKMdlHQsWDmAcmHYuNWThm4NPDK7oUQ7GYt39i0oK86gjP9LAW29V8AGYH/wj3YLTkoHNtPsZzKEVt3AzHdo=
X-Received: by 2002:a37:993:: with SMTP id 141mr222374qkj.488.1632752923255;
 Mon, 27 Sep 2021 07:28:43 -0700 (PDT)
MIME-Version: 1.0
References: <87tuibh43w.fsf@HIDDEN> <87wnn7ouq3.fsf@HIDDEN>
In-Reply-To: <87wnn7ouq3.fsf@HIDDEN>
From: zimoun <zimon.toutoune@HIDDEN>
Date: Mon, 27 Sep 2021 16:28:30 +0200
Message-ID: <CAJ3okZ3FtEN8ytJqjv0HiCkpgMxp2KbofUB07i3aV-3c7c3SOA@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

Thanks.  Two comments.

On Thu, 23 Sept 2021 at 23:20, pinoaffe <pinoaffe@HIDDEN> wrote:

> -(define importers '("gnu" "pypi" "cpan" "hackage" "stackage" "egg" "elpa"
> -                    "gem" "go" "cran" "crate" "texlive" "json" "opam"
> -                    "minetest"))
> +(define importers (filter-map (lambda (module)
> +                                (match (module-name module)
> +                                  (`(guix scripts import ,importer)
> +                                   (symbol->string importer))
> +                                  ( #t #f)))
> +                              (all-modules (map (lambda (entry)
> +                                                  `(,entry . "guix/scripts/import"))
> +                                                %load-path))))
>
>  (define (resolve-importer name)
>    (let ((module (resolve-interface

First, I think, it breaks "guix import --help".  Therefore, this patch
needs a v3. :-)

Second, what is the average extra time added on cold cache?  On my
machine, for hot cache, I get:

--8<---------------cut here---------------start------------->8---
$ time guix import cran -h

real    0m0.113s
user    0m0.110s
sys    0m0.025s

$ time ./pre-inst-env guix import cran -h

real    0m0.470s
user    0m0.529s
sys    0m0.054s
--8<---------------cut here---------------end--------------->8---

which is something.  On cold cache, it is:

real    0m10.438s
user    0m0.164s
sys    0m0.082s

vs

real    0m12.226s
user    0m0.897s
sys    0m0.190s

but these numbers are not so much meaningful because there is a strong
variability; hence on average. :-)

Because of 'filter-map', it walks all the modules, so there is a
performance loss.  The question is: which performance loss is
acceptable here?
Other said, is the code improvement worth compared to the performance decrease?

All the best,
simon




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v3] import: Generate list of importers based on available modules
References: <87tuibh43w.fsf@HIDDEN>
In-Reply-To: <87tuibh43w.fsf@HIDDEN>
Resent-From: pinoaffe <pinoaffe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 27 Sep 2021 18:21:01 +0000
Resent-Message-ID: <handler.50755.B50755.16327668351358 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 50755 <at> debbugs.gnu.org
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.16327668351358
          (code B ref 50755); Mon, 27 Sep 2021 18:21:01 +0000
Received: (at 50755) by debbugs.gnu.org; 27 Sep 2021 18:20:35 +0000
Received: from localhost ([127.0.0.1]:42783 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mUvEx-0000Lq-L3
	for submit <at> debbugs.gnu.org; Mon, 27 Sep 2021 14:20:35 -0400
Received: from mail.cock.li ([37.120.193.124]:43050)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pinoaffe@HIDDEN>) id 1mUvEs-0000LY-7c
 for 50755 <at> debbugs.gnu.org; Mon, 27 Sep 2021 14:20:33 -0400
From: pinoaffe <pinoaffe@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1632766822; bh=wAZuqm6NApV/cFKbYkCeVhCaWyrdq9jEF3rHi2dqRQQ=;
 h=From:To:Subject:Subject:Date:From;
 b=IIWqIXnh1Y3DFFTeHOQ3m67aoMUHl8yDrhyLZURxCCX/BV138aXKZYxreCc9lv3Qu
 pvCWRKbIpyz4rhOAZRFLRw4/lFIJqCE9hRymBhUHBSeu1+7d/5yRBG5DRcxzXm40fP
 uf1W9LuwcHBJIo4+h6gzc3tsEY4DATpmJmvJzEfQfqiODMJVrZTcWlNBeM4NPigSaH
 oEMCR9ZF2xTEif4q4ppsHGgEM6q7UnXZIiXgiVob/ySmDmif6S48/iuSArT0sweozZ
 DvX+dS+J8d6F5HT2ja8DIAsdQhKD8v+V+N5WeSXbqtUcg0lMnpB33vwf5uRQk49Xry
 pS0T0qgPo8WcA==
Date: Mon, 27 Sep 2021 20:20:21 +0200
Message-ID: <87mtnxswwq.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

User-agent: mu4e 1.4.15; emacs 27.2
* guix/scripts/import.scm (importers): Generate a list of all importers by
looping over available guile modules, allowing for extensibility.
---
 guix/scripts/import.scm | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm
index 40fa6759ae..71ee8cc00b 100644
--- a/guix/scripts/import.scm
+++ b/guix/scripts/import.scm
@@ -23,6 +23,7 @@
 
 (define-module (guix scripts import)
   #:use-module (guix ui)
+  #:use-module (guix discovery)
   #:use-module (guix scripts)
   #:use-module (guix utils)
   #:use-module (srfi srfi-1)
@@ -78,9 +79,15 @@ rather than \\n."
 ;;; Entry point.
 ;;;
 
-(define importers '("gnu" "pypi" "cpan" "hackage" "stackage" "egg" "elpa"
-                    "gem" "go" "cran" "crate" "texlive" "json" "opam"
-                    "minetest"))
+(define importers (delete-duplicates
+                   (filter-map (lambda (module)
+                                 (match (module-name module)
+                                   (`(guix scripts import ,importer)
+                                    (symbol->string importer))
+                                   ( #t #f)))
+                               (all-modules (map (lambda (entry)
+                                                   `(,entry . "guix/scripts/import"))
+                                                 %load-path)))))
 
 (define (resolve-importer name)
   (let ((module (resolve-interface
-- 
2.32.0

Date: Mon, 27 Sep 2021 20:20:21 +0200
Message-ID: <87o88dswwq.fsf@HIDDEN>




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v2] import: Generate list of importers based on available modules
Resent-From: pinoaffe <pinoaffe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 27 Sep 2021 18:28:02 +0000
Resent-Message-ID: <handler.50755.B50755.16327672752075 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: zimoun <zimon.toutoune@HIDDEN>
Cc: 50755 <at> debbugs.gnu.org
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.16327672752075
          (code B ref 50755); Mon, 27 Sep 2021 18:28:02 +0000
Received: (at 50755) by debbugs.gnu.org; 27 Sep 2021 18:27:55 +0000
Received: from localhost ([127.0.0.1]:42807 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mUvM3-0000XP-74
	for submit <at> debbugs.gnu.org; Mon, 27 Sep 2021 14:27:55 -0400
Received: from mail.cock.li ([37.120.193.124]:46534)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pinoaffe@HIDDEN>) id 1mUvLm-0000Wt-9e
 for 50755 <at> debbugs.gnu.org; Mon, 27 Sep 2021 14:27:53 -0400
References: <87tuibh43w.fsf@HIDDEN> <87wnn7ouq3.fsf@HIDDEN>
 <CAJ3okZ3FtEN8ytJqjv0HiCkpgMxp2KbofUB07i3aV-3c7c3SOA@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1632767251; bh=HefWsXCI5PNdeT3ryY29uBNVn9BDO41/GBbLEhzCDcg=;
 h=References:From:To:Cc:Subject:In-reply-to:Date:From;
 b=vgRPkPC78NjpTgKed20XTp8dlBgqtUfmNKYSV3FM+YehDDxaBAtUs/Hw6huyYsNhH
 aDpleGkkXiLYpVoXk1pY8RvSDlQhR1h7QAlOCONhOgMnMlcyF7kI2TcGW8zDuD1Qte
 oQttUqvonxLu1/CWKKluv+lwszIa8ntl6iJsPpeYwACEn30xYuXJtaVRggRC+36n6V
 uhb66iIQPVxZ7+jipYSULcVRf0kUK7rfliM4vXCwqI1/0ihNJDgr4k6nIndP6RDPyl
 udTrAWymb1jgcG9oskuroJR28vuEOFKzq9gUEyp5cBBvzdYpCRugoQ0dT8bTiN5mIH
 cMIrXo+iMSxWw==
User-agent: mu4e 1.4.15; emacs 27.2
From: pinoaffe <pinoaffe@HIDDEN>
In-reply-to: <CAJ3okZ3FtEN8ytJqjv0HiCkpgMxp2KbofUB07i3aV-3c7c3SOA@HIDDEN>
Date: Mon, 27 Sep 2021 20:27:30 +0200
Message-ID: <87ilylswkt.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

thank you for your feedback!

zimoun writes:
> First, I think, it breaks "guix import --help".  Therefore, this patch
> needs a v3. :-)
I sent a v3, thanks :)

> The question is: which performance loss is acceptable here?
To me a performance loss similar to the one you describe would be
acceptable, particularly since it should be a constant performance hit
for every time ~guix import~ is called, aka it won't significantly
impact long-running import commands. However, I think I may be somewhat
biased on this one, so it'd be great if others could weigh in :)

Kind regards,
pinoaffe




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v3] import: Generate list of importers based on available modules
Resent-From: zimoun <zimon.toutoune@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 27 Sep 2021 20:10:02 +0000
Resent-Message-ID: <handler.50755.B50755.163277338512201 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: pinoaffe <pinoaffe@HIDDEN>
Cc: 50755 <at> debbugs.gnu.org
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.163277338512201
          (code B ref 50755); Mon, 27 Sep 2021 20:10:02 +0000
Received: (at 50755) by debbugs.gnu.org; 27 Sep 2021 20:09:45 +0000
Received: from localhost ([127.0.0.1]:42935 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mUwwa-0003Aj-Uh
	for submit <at> debbugs.gnu.org; Mon, 27 Sep 2021 16:09:45 -0400
Received: from mail-qk1-f173.google.com ([209.85.222.173]:39933)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <zimon.toutoune@HIDDEN>) id 1mUwwZ-0003AW-05
 for 50755 <at> debbugs.gnu.org; Mon, 27 Sep 2021 16:09:43 -0400
Received: by mail-qk1-f173.google.com with SMTP id f130so38200918qke.6
 for <50755 <at> debbugs.gnu.org>; Mon, 27 Sep 2021 13:09:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=bse/cK62J4yPWAeuSofq9Gd8Z4QneGI7XX/yta5xvGY=;
 b=OwDSqua6xy+d1N4Sd8BJrTM3V224wsw8mwmjurkEoJpz/5v3y5RViY8+B8UL/xpxHx
 uqLTJwEyVS7c0hjCDb2FF+YC68LLd6VWR4esnE3dRU9/pm/2cNVSHtlZTgE1ko0ahdWE
 ddU6tiE3oN6zliFBKgmK5NAGbaCgpqWIJr4GvMGIIJqKCi9OPdJWghYfokPUens7VvRw
 qQggl4A+9ltvOeZagO0F64U2HVtXjymAwWK+SPEAZ0hoBZ7++ENyuo27VnltZ+lYMgB4
 tePY49OHlxlDSzvagoDlymvLad0sqOt+YxSlZrbeuKoBvjFFGADLc0K9sMLJs1JCu4tI
 gNBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=bse/cK62J4yPWAeuSofq9Gd8Z4QneGI7XX/yta5xvGY=;
 b=GfwwHbDLbfzf0CTCnF15b4n7c7Qeas2E+Zj1Dh+/w50zkRZbsQwyffTMXZpkI8/bIf
 ZQKHw4dtJOfYpNZXr5kydEYw8TqS6P4OCrcmAtthnvAKIOSX5yAMLYqwpW4XQRWYEqpJ
 nlWrGGzW4bIT+E2pw7zpOS6QLtdfc+9mavcGS5frBRFm9f2azf1nxrcQsL+j9PacNaDA
 KY67ajTyc1YDYBzTCyKe3RtLE9AD1QT09mxzgFuDnjyKzAmlKciwNpy/C/vNf1VDuelt
 0rBfjrOcZjLcStYOH2t9ce03ntfDJMHJ/vOYVFRGyXXdD3ccgW1njvcC65Y6Qupn2NNy
 0UKw==
X-Gm-Message-State: AOAM531zSNlBbWFiEXJCMCAs/AWrt+tJ7pSTvzUxlZIMmutYR6kd6fr7
 eIm8g50iypZmXgHqJKqTphv5lSxUK8yQEs+BnVizVWjEaBZA3Q==
X-Google-Smtp-Source: ABdhPJyn0oucoRMro339nf97QOamZv/03xYhLE5G5vnrfPLja2N5BJRHY2D5AhEYx3GnA51f3WeMt9H4Fbajy2xLWjg=
X-Received: by 2002:a37:2d04:: with SMTP id t4mr1760520qkh.463.1632773377138; 
 Mon, 27 Sep 2021 13:09:37 -0700 (PDT)
MIME-Version: 1.0
References: <87tuibh43w.fsf@HIDDEN> <87mtnxswwq.fsf@HIDDEN>
In-Reply-To: <87mtnxswwq.fsf@HIDDEN>
From: zimoun <zimon.toutoune@HIDDEN>
Date: Mon, 27 Sep 2021 22:09:26 +0200
Message-ID: <CAJ3okZ05LLzBLTY_srqarf1LG-tq2sN7wJmg3UaU7fxFBMovHQ@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

On Mon, 27 Sept 2021 at 20:21, pinoaffe <pinoaffe@HIDDEN> wrote:

> +(define importers (delete-duplicates

This fixes my first point...

> +                   (filter-map (lambda (module)
> +                                 (match (module-name module)
> +                                   (`(guix scripts import ,importer)
> +                                    (symbol->string importer))
> +                                   ( #t #f)))
> +                               (all-modules (map (lambda (entry)
> +                                                   `(,entry . "guix/scripts/import"))
> +                                                 %load-path)))))

...and it means it is walking more than needed.  Therefore, what is
the performance loss?

For instance, on my machine and hot cache, it is 4x slower.  And, this
readibility improvement is not worth, IMHO.
On cold cache, I do not have meaningful numbers because it requires to
run it several times and then compute an average.  What are the
numbers of your machine?

All the best,
simon




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v3] import: Generate list of importers based on available modules
Resent-From: Maxime Devos <maximedevos@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Tue, 28 Sep 2021 09:53:01 +0000
Resent-Message-ID: <handler.50755.B50755.163282273929052 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: zimoun <zimon.toutoune@HIDDEN>, pinoaffe <pinoaffe@HIDDEN>
Cc: 50755 <at> debbugs.gnu.org
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.163282273929052
          (code B ref 50755); Tue, 28 Sep 2021 09:53:01 +0000
Received: (at 50755) by debbugs.gnu.org; 28 Sep 2021 09:52:19 +0000
Received: from localhost ([127.0.0.1]:43906 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mV9md-0007YW-4i
	for submit <at> debbugs.gnu.org; Tue, 28 Sep 2021 05:52:19 -0400
Received: from albert.telenet-ops.be ([195.130.137.90]:36094)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maximedevos@HIDDEN>) id 1mV9mb-0007YN-Jd
 for 50755 <at> debbugs.gnu.org; Tue, 28 Sep 2021 05:52:18 -0400
Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be
 ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d])
 by albert.telenet-ops.be with bizsmtp
 id zMsC2500D0mfAB406MsCS5; Tue, 28 Sep 2021 11:52:14 +0200
Message-ID: <4ddbb2adfa86c9ed2e1cf01ad5c1d0129553cbae.camel@HIDDEN>
From: Maxime Devos <maximedevos@HIDDEN>
Date: Tue, 28 Sep 2021 11:51:48 +0200
In-Reply-To: <CAJ3okZ05LLzBLTY_srqarf1LG-tq2sN7wJmg3UaU7fxFBMovHQ@HIDDEN>
References: <87tuibh43w.fsf@HIDDEN> <87mtnxswwq.fsf@HIDDEN>
 <CAJ3okZ05LLzBLTY_srqarf1LG-tq2sN7wJmg3UaU7fxFBMovHQ@HIDDEN>
Content-Type: multipart/signed; micalg="pgp-sha512";
 protocol="application/pgp-signature"; boundary="=-oMv4/1jwYXTcsW/NpSiQ"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21;
 t=1632822735; bh=/xiOlOheQtVh2c4FoxoOMgnDy6dDRbnzVcHJJ/4TNBQ=;
 h=Subject:From:To:Cc:Date:In-Reply-To:References;
 b=iYYiMuqG7yoIxqund+Pi/u4KMglCBVVQDieLr+77ra6mCOlwCjM9ocx929dn80KJj
 P2DYfpkm2Aaehk6WuEBx+4Xgxx891/fAYgBADWCp4me1TT7S49BA1yxWs6RrMb0m2g
 6746MWf5pijAiVOfat9ke8iHmC/2MKDIbQEbJpqQzO6isAo+8+9t/juctgjqt2ePSg
 /3VSdGKip8k8qtaDpFFoNAkrTgir2GWThlyTXN+bb5xa7uh2XLcPKb46FCOqBBaeCz
 T8cnykVm6SuwEZtNgmEBrCkV/wlVGr5AZtneUoleKEXy673WJmISRNac1PaM5Fxp4L
 ney3uhG1n8mNg==
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)


--=-oMv4/1jwYXTcsW/NpSiQ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

zimoun schreef op ma 27-09-2021 om 22:09 [+0200]:
> Hi,
>=20
> On Mon, 27 Sept 2021 at 20:21, pinoaffe <pinoaffe@HIDDEN> wrote:
>=20
> > +(define importers (delete-duplicates
>=20
> This fixes my first point...
>=20
> > +                   (filter-map (lambda (module)
> > +                                 (match (module-name module)
> > +                                   (`(guix scripts import ,importer)
> > +                                    (symbol->string importer))
> > +                                   ( #t #f)))
> > +                               (all-modules (map (lambda (entry)
> > +                                                   `(,entry . "guix/sc=
ripts/import"))
> > +                                                 %load-path)))))
>=20
> ...and it means it is walking more than needed.  Therefore, what is
> the performance loss?
>=20
> For instance, on my machine and hot cache, it is 4x slower.

FWIW, calling ./pre-inst-env guix ... will always be slower than guix ...,
because the former will have a longer %load-path (IIRC) and possibly
other reasons.

Using "guix pull --profile=3D..." "time .../guix import ..." might be a bet=
ter test.

To only measure the time required for defiing 'importers', wrap delete-dupl=
icates
in a call to 'time' from (ice-9 time).

Greetings,
Maxime.

--=-oMv4/1jwYXTcsW/NpSiQ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYVLltBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7oFuAP4inWX640bGvGAqeFOSr8Ci4tHW
Wdvk/g0kIJkDo1yQTAEAu4A1DDzr/aDiXGkRInPFWhvZxEpxMlWMEmvUgli92Ac=
=2WqB
-----END PGP SIGNATURE-----

--=-oMv4/1jwYXTcsW/NpSiQ--





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v3] import: Generate list of importers based on available modules
Resent-From: pinoaffe <pinoaffe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Tue, 28 Sep 2021 14:40:02 +0000
Resent-Message-ID: <handler.50755.B50755.163283996810615 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: Maxime Devos <maximedevos@HIDDEN>
Cc: 50755 <at> debbugs.gnu.org, zimoun <zimon.toutoune@HIDDEN>
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.163283996810615
          (code B ref 50755); Tue, 28 Sep 2021 14:40:02 +0000
Received: (at 50755) by debbugs.gnu.org; 28 Sep 2021 14:39:28 +0000
Received: from localhost ([127.0.0.1]:46639 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mVEGV-0002l9-NU
	for submit <at> debbugs.gnu.org; Tue, 28 Sep 2021 10:39:27 -0400
Received: from mail.cock.li ([37.120.193.124]:57030)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pinoaffe@HIDDEN>) id 1mVEGR-0002kr-Tb
 for 50755 <at> debbugs.gnu.org; Tue, 28 Sep 2021 10:39:26 -0400
References: <87tuibh43w.fsf@HIDDEN> <87mtnxswwq.fsf@HIDDEN>
 <CAJ3okZ05LLzBLTY_srqarf1LG-tq2sN7wJmg3UaU7fxFBMovHQ@HIDDEN>
 <4ddbb2adfa86c9ed2e1cf01ad5c1d0129553cbae.camel@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1632839957; bh=5hWwLkWIdoVsDKcg6IbIU3Cw8iTwYzWp2vAfttY1Pqk=;
 h=References:From:To:Cc:Subject:In-reply-to:Date:From;
 b=UC9nHUrfHv1gi8P1pOl3vAHyrQ8c3OlCRMyzGtnGIdSdOmgbIOD3ihi9BYHAXE1it
 1Kqg78yYpNW2035CBmZ18usXcoKMLm9uALfVsUc8TNAuR71Bokhpu7nPILfjoA8Z3p
 U5wDdccPt8nz1rMMsucW7ToW1aHzed01ofQiUiQUHpkaFLshq+tCinCDMk8YZ0QoNP
 wz2/1KuCK7sUfEn/VXh6h6T+orpc8qkIV2kjzFsTvOVPW15fjxlMA2jYM4isWUoVsO
 XDP/JysU3HkSieiEY2SZlrLbO8sd/RqzkoDiAA844/XVCsXaybmduqjyTFXKBu68Lh
 KwEn8JhIknrHQ==
User-agent: mu4e 1.4.15; emacs 27.2
From: pinoaffe <pinoaffe@HIDDEN>
In-reply-to: <4ddbb2adfa86c9ed2e1cf01ad5c1d0129553cbae.camel@HIDDEN>
Date: Tue, 28 Sep 2021 16:39:16 +0200
Message-ID: <87k0j0hii3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi, 

Maxime Devos writes:
> To only measure the time required for defiing 'importers', wrap
> delete-duplicates in a call to 'time' from (ice-9 time).

Running

(time (for-each (lambda (_)
                  (delete-duplicates (filter-map (lambda (module)
                    (match (module-name module)
                           (`(guix scripts import ,importer)
                            (symbol->string importer))
                            (#t #f)))
                    (all-modules (map (lambda (entry)
                                   `(,entry . "guix/scripts/import"))
                                   %load-path)))))
                (iota 1000)))

in a guix repl on my system results in

clock utime stime cutime cstime gctime
 0.96  1.67  0.07   0.00   0.00   1.19

If I'm interpreting that correctly that would amount to a couple of
thousands of a second per run

Kind regards,
pinoaffe





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v3] import: Generate list of importers based on available modules
Resent-From: Maxime Devos <maximedevos@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Wed, 29 Sep 2021 21:00:02 +0000
Resent-Message-ID: <handler.50755.B50755.163294917626807 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: pinoaffe <pinoaffe@HIDDEN>
Cc: 50755 <at> debbugs.gnu.org, zimoun <zimon.toutoune@HIDDEN>
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.163294917626807
          (code B ref 50755); Wed, 29 Sep 2021 21:00:02 +0000
Received: (at 50755) by debbugs.gnu.org; 29 Sep 2021 20:59:36 +0000
Received: from localhost ([127.0.0.1]:50451 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mVgfw-0006yJ-G2
	for submit <at> debbugs.gnu.org; Wed, 29 Sep 2021 16:59:36 -0400
Received: from laurent.telenet-ops.be ([195.130.137.89]:51352)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maximedevos@HIDDEN>) id 1mVgft-0006y7-6o
 for 50755 <at> debbugs.gnu.org; Wed, 29 Sep 2021 16:59:35 -0400
Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be
 ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d])
 by laurent.telenet-ops.be with bizsmtp
 id zwzS250040mfAB401wzSKJ; Wed, 29 Sep 2021 22:59:31 +0200
Message-ID: <a78030ec4daefc13a4ca7c6b9502e4660b127bf6.camel@HIDDEN>
From: Maxime Devos <maximedevos@HIDDEN>
Date: Wed, 29 Sep 2021 22:59:21 +0200
In-Reply-To: <87k0j0hii3.fsf@HIDDEN>
References: <87tuibh43w.fsf@HIDDEN> <87mtnxswwq.fsf@HIDDEN>
 <CAJ3okZ05LLzBLTY_srqarf1LG-tq2sN7wJmg3UaU7fxFBMovHQ@HIDDEN>
 <4ddbb2adfa86c9ed2e1cf01ad5c1d0129553cbae.camel@HIDDEN>
 <87k0j0hii3.fsf@HIDDEN>
Content-Type: multipart/signed; micalg="pgp-sha512";
 protocol="application/pgp-signature"; boundary="=-V7U/ty75n8eYfBC7LX0S"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21;
 t=1632949171; bh=tXWs9naQjArwmEl7tt3aizlmBgFL+QRgAayun4QRHv0=;
 h=Subject:From:To:Cc:Date:In-Reply-To:References;
 b=NddOFcLfVSckjSs4bh/IWDMUTb5oKs1lOREDQ1hcWCmdtgAs2siDz/z49wpEPAULa
 t5e0iCIeRnKNW4yQjtltQtGBZl4RPlNW6BZOlwPPU84al1EZv4n6GMy/RwlKJ2gacm
 X0MrU3i7eWLgp4zmb5zkxyKDv6akMyqlZ5xrCnycufq7tTG0CfO73OZtb1qWEyiCU4
 7CXWsG+RXkJKpwa43Y7yIDeulvOgCJvGALY+TwxA/9+9j4iRKXop7vGl5aU30RAcp2
 5dNW/Jb4k2q2jDSIcrdwNJ21W6/bSy70vTW+xFAA0LiKVxi7MuzeLzjHWHsIRyHX/x
 8p5sGdo9H3JdQ==
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)


--=-V7U/ty75n8eYfBC7LX0S
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

pinoaffe schreef op di 28-09-2021 om 16:39 [+0200]:
> Hi,=20
>=20
> Maxime Devos writes:
> > To only measure the time required for defiing 'importers', wrap
> > delete-duplicates in a call to 'time' from (ice-9 time).
>=20
> Running
>=20
> (time (for-each (lambda (_)
>                   (delete-duplicates (filter-map (lambda (module)
>                     (match (module-name module)
>                            (`(guix scripts import ,importer)
>                             (symbol->string importer))
>                             (#t #f)))
>                     (all-modules (map (lambda (entry)
>                                    `(,entry . "guix/scripts/import"))
>                                    %load-path)))))
>                 (iota 1000)))
>=20
> in a guix repl on my system results in
>=20
> clock utime stime cutime cstime gctime
>  0.96  1.67  0.07   0.00   0.00   1.19
>=20
> If I'm interpreting that correctly that would amount to a couple of
> thousands of a second per run

These numbers turn out to be misleading, because 'scheme-modules'
(indirectly called from all-modules) calls 'resolve-interface' on every mod=
ule
name.  For a module name, the first 'resolve-module' incurs disk I/O and so=
me
CPU for loading the module, but the second 'resolve-module' on the same mod=
ule
name would be free, as the module is already loaded.

Greetings,
Maxime

--=-V7U/ty75n8eYfBC7LX0S
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYVTTqRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7nSqAP4h8hgA68UTCqb6JLWNAufWq4Pp
LFlippHoE3+paowHaQEA48/yt3XWfE6GctcFSRRfvbgJoawuHzaw0zuoG60TFwg=
=t0wq
-----END PGP SIGNATURE-----

--=-V7U/ty75n8eYfBC7LX0S--





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v3] import: Generate list of importers based on available modules
Resent-From: pinoaffe <pinoaffe@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Thu, 30 Sep 2021 08:19:01 +0000
Resent-Message-ID: <handler.50755.B50755.163298988423168 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: Maxime Devos <maximedevos@HIDDEN>
Cc: 50755 <at> debbugs.gnu.org, zimoun <zimon.toutoune@HIDDEN>
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.163298988423168
          (code B ref 50755); Thu, 30 Sep 2021 08:19:01 +0000
Received: (at 50755) by debbugs.gnu.org; 30 Sep 2021 08:18:04 +0000
Received: from localhost ([127.0.0.1]:51406 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mVrGV-00061c-S4
	for submit <at> debbugs.gnu.org; Thu, 30 Sep 2021 04:18:04 -0400
Received: from mail.cock.li ([37.120.193.124]:41668)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <pinoaffe@HIDDEN>) id 1mVrGQ-000611-9O
 for 50755 <at> debbugs.gnu.org; Thu, 30 Sep 2021 04:18:01 -0400
References: <87tuibh43w.fsf@HIDDEN> <87mtnxswwq.fsf@HIDDEN>
 <CAJ3okZ05LLzBLTY_srqarf1LG-tq2sN7wJmg3UaU7fxFBMovHQ@HIDDEN>
 <4ddbb2adfa86c9ed2e1cf01ad5c1d0129553cbae.camel@HIDDEN>
 <87k0j0hii3.fsf@HIDDEN>
 <a78030ec4daefc13a4ca7c6b9502e4660b127bf6.camel@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=airmail.cc; s=mail;
 t=1632989870; bh=lx0S0EwYK6ofm4zpBxtGVeutY+63LqEAw92EUkcq0Uk=;
 h=References:From:To:Cc:Subject:In-reply-to:Date:From;
 b=p9GnX5BWRmvE+v2VwDAuvidt6AllVDpTbVyCTJWhTItwsGPKupi8jWtSWp/91KZMo
 Tp8wfYRfQi2PxTAbqmUYWI4ppI7DBbW52fgqrNIwkuZYmLkTyiU9hTS0RBT5DmfPlc
 I0dH9N1U5SsL5DQKal4BGQr2ntaAsZnwWc39XDxKrmojvjJ74I1X3yKy9YJ6R97jXS
 dZNvkN9WAu2LZXoLE0k5iAMyHtrij6pDn4Gvd0Upp5DQHonOD8CdtwSm1SFihyBClW
 ceyajeQ9Ql0AVG1ZMsEtLYkwdsPvMaKLb3KBxD208PfCJX/l0MhFMNSyPyz3sCQIGn
 hflSYiRiWk7iA==
User-agent: mu4e 1.4.15; emacs 27.2
From: pinoaffe <pinoaffe@HIDDEN>
In-reply-to: <a78030ec4daefc13a4ca7c6b9502e4660b127bf6.camel@HIDDEN>
Date: Thu, 30 Sep 2021 10:17:48 +0200
Message-ID: <87r1d6zdcj.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


Maxime Devos writes:
> These numbers turn out to be misleading, because 'scheme-modules'
> (indirectly called from all-modules) calls 'resolve-interface' on every module
> name.  For a module name, the first 'resolve-module' incurs disk I/O and some
> CPU for loading the module, but the second 'resolve-module' on the same module
> name would be free, as the module is already loaded.
okay, the first incantation of 

(time (for-each (lambda (_)
                   (delete-duplicates (filter-map (lambda (module)
                     (match (module-name module)
                            (`(guix scripts import ,importer)
                             (symbol->string importer))
                             (#t #f)))
                     (all-modules (map (lambda (entry)
                                    `(,entry . "guix/scripts/import"))
                                    %load-path)))))
                 (iota 1)))

on a "fresh" guix repl on my system results in 

clock utime stime cutime cstime gctime
 1.28  0.76  0.13   0.00   0.00   0.16

which is indeed a significant amount of time, though I don't think it'd
be much of an issue considering that it's not likely that users will run
lots of `guix import` shell commands in rapid succession.

kind regards,
pinoaffe




Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v3] import: Generate list of importers based on available modules
Resent-From: Maxime Devos <maximedevos@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Thu, 30 Sep 2021 08:38:01 +0000
Resent-Message-ID: <handler.50755.B50755.163299105424948 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: pinoaffe <pinoaffe@HIDDEN>
Cc: 50755 <at> debbugs.gnu.org, zimoun <zimon.toutoune@HIDDEN>
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.163299105424948
          (code B ref 50755); Thu, 30 Sep 2021 08:38:01 +0000
Received: (at 50755) by debbugs.gnu.org; 30 Sep 2021 08:37:34 +0000
Received: from localhost ([127.0.0.1]:51416 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mVrZN-0006UJ-TJ
	for submit <at> debbugs.gnu.org; Thu, 30 Sep 2021 04:37:34 -0400
Received: from baptiste.telenet-ops.be ([195.130.132.51]:38690)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maximedevos@HIDDEN>) id 1mVrZJ-0006U7-7F
 for 50755 <at> debbugs.gnu.org; Thu, 30 Sep 2021 04:37:32 -0400
Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be
 ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d])
 by baptiste.telenet-ops.be with bizsmtp
 id 08dN2600X0mfAB4018dNvA; Thu, 30 Sep 2021 10:37:26 +0200
Message-ID: <b49ef3ad39319d3d9057b1a69c62dee2c0ce1bbb.camel@HIDDEN>
From: Maxime Devos <maximedevos@HIDDEN>
Date: Thu, 30 Sep 2021 10:37:17 +0200
In-Reply-To: <87r1d6zdcj.fsf@HIDDEN>
References: <87tuibh43w.fsf@HIDDEN> <87mtnxswwq.fsf@HIDDEN>
 <CAJ3okZ05LLzBLTY_srqarf1LG-tq2sN7wJmg3UaU7fxFBMovHQ@HIDDEN>
 <4ddbb2adfa86c9ed2e1cf01ad5c1d0129553cbae.camel@HIDDEN>
 <87k0j0hii3.fsf@HIDDEN>
 <a78030ec4daefc13a4ca7c6b9502e4660b127bf6.camel@HIDDEN>
 <87r1d6zdcj.fsf@HIDDEN>
Content-Type: multipart/signed; micalg="pgp-sha512";
 protocol="application/pgp-signature"; boundary="=-GxfpYhXalGHiWYrGFLkn"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21;
 t=1632991046; bh=mtRZfVuy52WLxQ1ybbVlHq4xIkduRoyEi6HwfY37Cgg=;
 h=Subject:From:To:Cc:Date:In-Reply-To:References;
 b=SZ19vf3VHvdlcdKTQCuQBDLSO81lTziCoYgGJ/J4Kgyf8rav2Ulz0+/Jb/GWshcVn
 9FsNJqzy5zXs71O6cJix/wegKUXD7W0ovnt2GwCl34I8TSepiCGjpLYo3U9GpOXa4h
 lgs/iqETvozkWDdKcfmdI7yP1iNqLHhFKkMPN+r5Z+cbGjgzKo6CG6Hmi6M2HNqF10
 mpIYm5lHZMtRq/Ulp2D/hk5Lrm9AqLavEkS7aOCGvOcFPfYApGxuIEa9DNS/bf0u/n
 eCqaIGEiH+tqouDcSSQ2mwKA3rGOqvnBHh8YqVWANBVlmBeNZXHyPAm7PPfRakhpeo
 MJF8bPL+r3rPg==
X-Spam-Score: -0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)


--=-GxfpYhXalGHiWYrGFLkn
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

pinoaffe schreef op do 30-09-2021 om 10:17 [+0200]:
> Maxime Devos writes:
> > These numbers turn out to be misleading, because 'scheme-modules'
> > (indirectly called from all-modules) calls 'resolve-interface' on every=
 module
> > name.  For a module name, the first 'resolve-module' incurs disk I/O an=
d some
> > CPU for loading the module, but the second 'resolve-module' on the same=
 module
> > name would be free, as the module is already loaded.
> okay, the first incantation of=20
>=20
> (time (for-each (lambda (_)
>                    (delete-duplicates (filter-map (lambda (module)
>                      (match (module-name module)
>                             (`(guix scripts import ,importer)
>                              (symbol->string importer))
>                              (#t #f)))
>                      (all-modules (map (lambda (entry)
>                                     `(,entry . "guix/scripts/import"))
>                                     %load-path)))))
>                  (iota 1)))
>=20
> on a "fresh" guix repl on my system results in=20
>=20
> clock utime stime cutime cstime gctime
>  1.28  0.76  0.13   0.00   0.00   0.16

On my fresh guix repl, it's a bit longer:

clock utime stime cutime cstime gctime
 9.54  1.79  0.31   0.00   0.00   0.53

(9 or 10 seconds)

If I restart the guix repl and run it again,
I get about half a second:

clock utime stime cutime cstime gctime
 0.47  0.57  0.02   0.00   0.00   0.19

> which is indeed a significant amount of time, though I don't think it'd
> be much of an issue considering that it's not likely that users will run
> lots of `guix import` shell commands in rapid succession.

The list of importers is only needed for two purposes, right?

   1. to print a list of importers when "guix import --help" is run
   2. to verify the string actually specifies an importer

Then 'guix import SOME-IMPORTER STUFF' could be optimised:

reolve-importer and guix-import could be modified to skip the validation
step and let resolve-importer print the error if the module couldn't be
found.  Possibly (resolve-module '(the possibly undefined module) #:ensure =
#f)
might be useful. Then 'importers' would only be required for purpose (1),
so it could be wrapped in a promise, such that if "guix import some-importe=
r stuff"
is called, only the required importer module is loaded.

Greetings,
Maxime.

--=-GxfpYhXalGHiWYrGFLkn
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYVV3PRccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7r2kAP9n4wQy7Hwm+gOfK7xoJ5hC5dTS
R2nxUMr0HKz2lFlR4wEA+lMWrOz1DD7BQPmIIBASugkP1zH34bGBZQOuw/FS9gI=
=bB49
-----END PGP SIGNATURE-----

--=-GxfpYhXalGHiWYrGFLkn--





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#50755] [PATCH v3] import: Generate list of importers based on available modules
Resent-From: zimoun <zimon.toutoune@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Mon, 11 Oct 2021 11:52:01 +0000
Resent-Message-ID: <handler.50755.B50755.163395309228400 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 50755
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: Maxime Devos <maximedevos@HIDDEN>
Cc: pinoaffe <pinoaffe@HIDDEN>, 50755 <at> debbugs.gnu.org
Received: via spool by 50755-submit <at> debbugs.gnu.org id=B50755.163395309228400
          (code B ref 50755); Mon, 11 Oct 2021 11:52:01 +0000
Received: (at 50755) by debbugs.gnu.org; 11 Oct 2021 11:51:32 +0000
Received: from localhost ([127.0.0.1]:56784 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mZtq8-0007Nz-06
	for submit <at> debbugs.gnu.org; Mon, 11 Oct 2021 07:51:32 -0400
Received: from mail-qt1-f169.google.com ([209.85.160.169]:35373)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <zimon.toutoune@HIDDEN>) id 1mZtq6-0007Ni-3e
 for 50755 <at> debbugs.gnu.org; Mon, 11 Oct 2021 07:51:30 -0400
Received: by mail-qt1-f169.google.com with SMTP id c20so16113824qtb.2
 for <50755 <at> debbugs.gnu.org>; Mon, 11 Oct 2021 04:51:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=rcSopNcUnSmoAH18aFQAGhjQ8XBcrhWDD3r+mUvHLlo=;
 b=lkkCxju5KIRON3pO7wisnFkxWX2M/0L9oyJhBj6DVHi2mnqTusXQ2AHLiCGjSJ71oi
 bkmFbTZEpsWryl9nbkriKhyjQ0Jf1iLjct0MR6n7xITo+baXapPdtQZ5o2LN2XLsVtNx
 /oVxnq3UmEhgZZ+2grj+XTf8/ltUiB3aVvS4ihNuQmX7xng4ADd7NIYBN/C7yQIDQGMO
 bhl40Bth3CAx3zLcQGLYVla6H4b3WEt/WHxe8fzCfUsJiuQhJMQqd02x1+WSOEHJ89jl
 UVemeiN3GFBLO4NZHTDxNOOF+ujJnn5/7ODgCNY54UKbZ7RbkBrIZIiHvMb8IpojnxBr
 nRJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=rcSopNcUnSmoAH18aFQAGhjQ8XBcrhWDD3r+mUvHLlo=;
 b=RfNkXHnwPqiu3eLqJngXh+Kb2Rlg0Fcqo0YGbW0oHGj/z0nbX/4DZeESXKEiVyDH8a
 1YcUsSw/30R78lna1Tygd85GnUFL2r8zys8KxTSlt9OIDPXu1TLYlznobuvG/64elaIE
 4GT+vJAoLgG4p6DSXjL0rHLv+WSWhTWscvB1D97jPlghXA4rNd2+hlKG9DhRit5K97+3
 O2SCnjm5gIylqZdGgb2kTDtnyu2MI3/8DYrJmniAKzfWMRhEpYh+UORiwope1FkvQykC
 PZ07qgdCOtI9WR61OVCzrjKwECknxqSTw4xrChALOqh8LAiX3l4KYVAZZqMR/ZLm79Dv
 +aJA==
X-Gm-Message-State: AOAM531uf2JRTW5Uy5DxKvZ7c27ClZftJfDw1xDou2FKebBat2FEcBpD
 Nk5VNY8jAZJP1kmYpaqwt+izvufEJdr9DowYGP8=
X-Google-Smtp-Source: ABdhPJwbiliMy1wY0CYvpkiDDW9XJU0u/kPTu06JKs2+Kc4qgEV//H4cX/hOPI/CDuMbcBOT/7tTFpbf71EcSHbUYpc=
X-Received: by 2002:a05:622a:55:: with SMTP id
 y21mr4258205qtw.39.1633953084530; 
 Mon, 11 Oct 2021 04:51:24 -0700 (PDT)
MIME-Version: 1.0
References: <87tuibh43w.fsf@HIDDEN> <87mtnxswwq.fsf@HIDDEN>
 <CAJ3okZ05LLzBLTY_srqarf1LG-tq2sN7wJmg3UaU7fxFBMovHQ@HIDDEN>
 <4ddbb2adfa86c9ed2e1cf01ad5c1d0129553cbae.camel@HIDDEN>
 <87k0j0hii3.fsf@HIDDEN>
 <a78030ec4daefc13a4ca7c6b9502e4660b127bf6.camel@HIDDEN>
 <87r1d6zdcj.fsf@HIDDEN>
 <b49ef3ad39319d3d9057b1a69c62dee2c0ce1bbb.camel@HIDDEN>
In-Reply-To: <b49ef3ad39319d3d9057b1a69c62dee2c0ce1bbb.camel@HIDDEN>
From: zimoun <zimon.toutoune@HIDDEN>
Date: Mon, 11 Oct 2021 13:51:13 +0200
Message-ID: <CAJ3okZ3WfJeN0=U4JuZU-2sQ9KAdq07jaVxy_tAWAa3YKHx-tQ@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hi,

On Thu, 30 Sept 2021 at 10:37, Maxime Devos <maximedevos@HIDDEN> wrote:

> The list of importers is only needed for two purposes, right?
>
>    1. to print a list of importers when "guix import --help" is run
>    2. to verify the string actually specifies an importer
>
> Then 'guix import SOME-IMPORTER STUFF' could be optimised:
>
> reolve-importer and guix-import could be modified to skip the validation
> step and let resolve-importer print the error if the module couldn't be
> found.  Possibly (resolve-module '(the possibly undefined module) #:ensure #f)
> might be useful. Then 'importers' would only be required for purpose (1),
> so it could be wrapped in a promise, such that if "guix import some-importer stuff"
> is called, only the required importer module is loaded.

My comment is about the elegance vs the performance loss.  On old
machines, Guix is becoming unpractical for many operations (almost all
the operations indeed) and I would not add another slowness.  I am
fine to sacrifice some performances if it is worth.  However, the
balance is always: what is gain and what is loss?  Here the gain is
small code elegance against the performance lost for end-user.  The
question: does it worth?  From my point of view, no, this change is
not worth.  For what my opinion is worth here. ;-)

Cheers,
simon





Last modified: Mon, 11 Oct 2021 12:00:02 UTC

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