GNU logs - #41646, boring messages


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 01 Jun 2020 14:27:02 +0000
Resent-Message-ID: <handler.41646.B.159102161124934 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: 41646 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-gnu-emacs@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.159102161124934
          (code B ref -1); Mon, 01 Jun 2020 14:27:02 +0000
Received: (at submit) by debbugs.gnu.org; 1 Jun 2020 14:26:51 +0000
Received: from localhost ([127.0.0.1]:36684 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jflOt-0006U6-11
	for submit <at> debbugs.gnu.org; Mon, 01 Jun 2020 10:26:51 -0400
Received: from lists.gnu.org ([209.51.188.17]:42044)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <nicolasbertolo@HIDDEN>) id 1jflOq-0006Ty-Pr
 for submit <at> debbugs.gnu.org; Mon, 01 Jun 2020 10:26:49 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:38384)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <nicolasbertolo@HIDDEN>)
 id 1jflOq-0001MB-IE
 for bug-gnu-emacs@HIDDEN; Mon, 01 Jun 2020 10:26:48 -0400
Received: from mail-oi1-x232.google.com ([2607:f8b0:4864:20::232]:37131)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <nicolasbertolo@HIDDEN>)
 id 1jflOp-0002HR-Kj
 for bug-gnu-emacs@HIDDEN; Mon, 01 Jun 2020 10:26:48 -0400
Received: by mail-oi1-x232.google.com with SMTP id m67so9010089oif.4
 for <bug-gnu-emacs@HIDDEN>; Mon, 01 Jun 2020 07:26:47 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:from:date:message-id:subject:to;
 bh=eF8T+ZcRTIQ/hLUMAOL2LqkDp0ZhZMEQRMyKQbZ8dQo=;
 b=mBUMUz0SUg9SWUvWKSgNXnpf2CDC5lkQBKeMz00KgSNeDBIen1m2V7eYSaZHhO3ClO
 yQgn2mMixBUvEaa7YfixOv/rO8Z8wP3r0Wb8BYb/qhLV+DEnYXg2J9GoiG/+++PX2zIW
 Zqrwp3Z6h6UNG0/a2+HUBqqxDKAa8lcOiybduJpipU4hwT/uDlNIf9M1A2LpyuiUuYSG
 vSkgHI4QXYNHLo2XTPrl1+/v3/WYE20YKsat3NKfMTXMUU2udxscE8q3HpK0fY/Y9/2H
 md+QQvyEBxfVjf9njH1NqAfdKVIJsJYSodXcEW0JA1uoLV+lIIRGm/q5oyiBqpaH16FS
 2DYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:from:date:message-id:subject:to;
 bh=eF8T+ZcRTIQ/hLUMAOL2LqkDp0ZhZMEQRMyKQbZ8dQo=;
 b=KoytsgO6f+ITHuttB17NOQrONORhEMxdHFIFyrMBveVgzUaMDYtJ7G2uvMtFpo9J6m
 pKVHDspH3CM14+1xXhsy6joaqpIpxfdR8JlsISWgQV47YQLLDA2mSoj50FlQ31x6ZQXN
 +JCHq/7BFPIAbZv7wm05OtWLxs+/pCwhlWzSx/dPI3WO9c8QR1BuNJyF8z73CTfa+GJQ
 vS3z1kH8yhhzf37s1k9UfpSRIXzSliR0eMEXBqUa5A6iq7O24uvw4LWp8ARc7gRf7GCb
 tXENLnpUlSVHqqsErv/3CWLFfVEfV17vSyGTQcy1W9ctf1sDKqE6pDgUVcjOnmgbaArY
 TxXA==
X-Gm-Message-State: AOAM530XsObzwHXDPUMBmGu94wGuns1B760uoSAZrtPrbkSQwPWhxMlm
 vMjshAocvDgUkeFqEGO61ljNamM336lNYS3kkmfQRmovDLE=
X-Google-Smtp-Source: ABdhPJz0GdP+mXzLT/KUkbOqF9R3qRHrBu5xD3EJOs3TLRyB3i9QPS81hl/kur3CPWLEHynHHK/Lck4JypcmN1SHMp0=
X-Received: by 2002:aca:e104:: with SMTP id y4mr13545274oig.120.1591021605929; 
 Mon, 01 Jun 2020 07:26:45 -0700 (PDT)
MIME-Version: 1.0
From: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Date: Mon, 1 Jun 2020 11:26:35 -0300
Message-ID: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=2607:f8b0:4864:20::232;
 envelope-from=nicolasbertolo@HIDDEN; helo=mail-oi1-x232.google.com
X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache.
 That's all we know.
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, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001 autolearn=_AUTOLEARN
X-Spam_action: no action
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: -2.3 (--)

I have an issue regarding startup times in Windows. My configuration is
Spacemacs with many layers enabled. My load-path contains 380 entries.

I have profiled Emacs in Windows and found that it spends most of the startup
time calling wopen(). This is because when calling (load "foo") it checks all
directories in load-path for ("foo.el" "foo.elc" "foo.el.gz" "foo.elc.gz"
"foo.dll"). It gets worse when load-prefer-newer is t.

In my case `load-path` contains 380 entries, so every call to load will perform
380 * 5 = 1900 calls to wopen. This is very slow in Windows because its
filesystem is not optimized for so many accesses to small files.

I thought that a caching mechanism would help.

This "cache" would consist of a mapping of files that would get probed when
(load "foo") runs. It would be implemented as a hash table. The contents of this
hash table could be loaded from load-cache.el files in each package directory.

The directory foo-pkg could have a file load-cache.el with:

foo -> ("foo-pkg/foo.el"
        "foo-pkg/foo.elc")
[...]

The directory bar-pkg could have a file load-cache.el with:

bar -> ("bar-pkg/bar.el"
        "bar-pkg/bar.elc")
[...]

When a package is activated we could update the in-memory hash table by loading
its load-cache.el file. Then, when (require 'foo) runs, the loading code could
look at the hash table and only fopen() the files associated with the feature we
are loading. This would reduce the number of calls to fopen() from thousands to
~2 in the worst case.

Or we could have a big load-cache.el in `package-user-dir'. I prefer many small
files because maintaining the big file when many Emacs instances could be
installing or removing packages is synchronization nightmare.

Of course, this feature would be disabled by default.

What do you think?

Nicolas




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: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Subject: bug#41646: Acknowledgement (Startup in Windows is very slow when
 load-path contains many entries.)
Message-ID: <handler.41646.B.159102161124934.ack <at> debbugs.gnu.org>
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
X-Gnu-PR-Message: ack 41646
X-Gnu-PR-Package: emacs
Reply-To: 41646 <at> debbugs.gnu.org
Date: Mon, 01 Jun 2020 14:27: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):
 bug-gnu-emacs@HIDDEN

If you wish to submit further information on this problem, please
send it to 41646 <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
41646: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D41646
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 01 Jun 2020 16:07:01 +0000
Resent-Message-ID: <handler.41646.B41646.15910275661808 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Cc: 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.15910275661808
          (code B ref 41646); Mon, 01 Jun 2020 16:07:01 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Jun 2020 16:06:06 +0000
Received: from localhost ([127.0.0.1]:36823 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jfmww-0000T6-9p
	for submit <at> debbugs.gnu.org; Mon, 01 Jun 2020 12:06:06 -0400
Received: from eggs.gnu.org ([209.51.188.92]:42536)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1jfmws-0000SU-1N
 for 41646 <at> debbugs.gnu.org; Mon, 01 Jun 2020 12:06:05 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:51608)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1jfmwm-00008u-Ra; Mon, 01 Jun 2020 12:05:56 -0400
Received: from [176.228.60.248] (port=3020 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1jfmwl-0002ns-PC; Mon, 01 Jun 2020 12:05:56 -0400
Date: Mon, 01 Jun 2020 19:05:58 +0300
Message-Id: <83y2p6epp5.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 (message from Nicolas =?UTF-8?Q?B=C3=A9rtolo?= on Mon, 1 Jun 2020 11:26:35
 -0300)
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Nicolas Bértolo <nicolasbertolo@HIDDEN>
> Date: Mon, 1 Jun 2020 11:26:35 -0300
> 
> I have an issue regarding startup times in Windows. My configuration is
> Spacemacs with many layers enabled. My load-path contains 380 entries.
> 
> I have profiled Emacs in Windows and found that it spends most of the startup
> time calling wopen(). This is because when calling (load "foo") it checks all
> directories in load-path for ("foo.el" "foo.elc" "foo.el.gz" "foo.elc.gz"
> "foo.dll"). It gets worse when load-prefer-newer is t.
> 
> In my case `load-path` contains 380 entries, so every call to load will perform
> 380 * 5 = 1900 calls to wopen. This is very slow in Windows because its
> filesystem is not optimized for so many accesses to small files.

So this is not specific to Windows, it's just that Windows has slower
file access.  IOW, if load-path becomes significantly larger, the slow
startup will show on Posix systems as well, right?

Next question: are the 'wopen' calls coming from 'openp'? if so,
perhaps we could first try a cheaper call, like 'chmod' (or its Win32
API equivalent), and save the 'wopen' call if 'chmod' fails?  Did you
try that?

> I thought that a caching mechanism would help.

My main concern with a cache is how to make sure it reflects what's on
the disk, when files are added or removed.

Thanks.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 01 Jun 2020 16:47:01 +0000
Resent-Message-ID: <handler.41646.B41646.15910299795702 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.15910299795702
          (code B ref 41646); Mon, 01 Jun 2020 16:47:01 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Jun 2020 16:46:19 +0000
Received: from localhost ([127.0.0.1]:36869 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jfnZr-0001Tu-7f
	for submit <at> debbugs.gnu.org; Mon, 01 Jun 2020 12:46:19 -0400
Received: from mail-oi1-f174.google.com ([209.85.167.174]:37253)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <nicolasbertolo@HIDDEN>) id 1jfnZp-0001Th-Jp
 for 41646 <at> debbugs.gnu.org; Mon, 01 Jun 2020 12:46:18 -0400
Received: by mail-oi1-f174.google.com with SMTP id m67so9425897oif.4
 for <41646 <at> debbugs.gnu.org>; Mon, 01 Jun 2020 09:46:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=B9LpKHXnrNU7b+8To/EsEWaUtmcyxbei/pAPT4Gt9Cc=;
 b=nqzOfiNSvdkQfGT9YXrrt3DpM4H2xTZHPUBiaMtJHjTLLupCIL5N6M9swsA6yjgXWc
 ZASrN1XaTqPct68qMMtbrpQSHxsQ1wlI6BJH/DxbLBSlrdWhwq1mDg/EDaUITADJ+Q/D
 kdXzwj5FjrAjk9/wWl4GGDZNnkK5Bb8JHxA4tjAClc/GPT+QYrySaWzJRnoXot1IN9Us
 F+dH1syUBb4GILdmT9qVslAKNZdNAoEF71OSa6wLkCQJ6i0A0kFYpQFKR+qN7ffCEcNj
 Vleb6bA2a0SW7EhjMn+qSC6GW3hNylTGqNFvDfA4uY23kJFSYACZkOlEzvzq2VnN+Eyd
 s5zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=B9LpKHXnrNU7b+8To/EsEWaUtmcyxbei/pAPT4Gt9Cc=;
 b=iTGSElhZsHHtoTlDQjOm/GRzPMZoK3FOgInNpZ+2yvYXQM9sSojt5ERhoEDHDmPvcJ
 o16iLjqTw6OgbBpKESjDgBKoEBhjE2XCjJOrGvGx2KKPMrC/jgoKDbRY58JZjBJ4DmhZ
 ywymeJnExaR7IcINC0EraQd6RnW0TPFHf0M31L79/GvEkyBIhiy6d595eWkm5WIYdEBv
 9ZzdHAHCs/makO6b9NcOqGBNhSgyjocJxRj4tEPuGlGNTOoz5SFFczsP+z4AYd3HeKgP
 EjWjDHoYSzDXxM+mkgq9eDN6BZFRskHRR/Q8GZlqbxuoPZkLVhPa2TFqEDtV/3LVNC6s
 ugMQ==
X-Gm-Message-State: AOAM533omEZS2D5n927VlHPNO6v9bOqhZGKalMdCi1jSZQ7UwRKbaeqi
 BKinhsDbKINvlblkWA4VvZBK73Rn9sMu3uC6JB6M9P7L+do=
X-Google-Smtp-Source: ABdhPJwt0TCN2nUUvLRgzTazbDsuHwfszyzJiNEYP3xYQF3e6lt0jhF6VBGD9PP1NKXq303ZP/WR1lcW2YPHbn+iQKw=
X-Received: by 2002:a54:4701:: with SMTP id k1mr156423oik.175.1591029971837;
 Mon, 01 Jun 2020 09:46:11 -0700 (PDT)
MIME-Version: 1.0
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <83y2p6epp5.fsf@HIDDEN>
In-Reply-To: <83y2p6epp5.fsf@HIDDEN>
From: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Date: Mon, 1 Jun 2020 13:46:01 -0300
Message-ID: <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@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 (-)

> So this is not specific to Windows, it's just that Windows has slower
> file access.  IOW, if load-path becomes significantly larger, the slow
> startup will show on Posix systems as well, right?

Exactly, but not nearly as bad. I profiled the same Spacemacs configuration in
Ubuntu 20.04 and startup takes 10 seconds, with 5 seconds spent inside openp().

Compare this to 40 seconds in total and 32 seconds inside openp() in Windows.

> Next question: are the 'wopen' calls coming from 'openp'? if so,
> perhaps we could first try a cheaper call, like 'chmod' (or its Win32
> API equivalent), and save the 'wopen' call if 'chmod' fails?  Did you
> try that?

They come from openp(), yes. I haven't tried it. I think the issue is related to
the IO architecture in Windows, so I don't expect major speedups, but it could
certainly help.

> My main concern with a cache is how to make sure it reflects what's on
> the disk, when files are added or removed.

That is my main concern as well. A good option would be to rely on package.el to
generate the load-cache.el file for a package when it generates autoloads. If we
can't find any of the files mentioned in the cache then we fallback to the
current load-path code. That is a simple solution that would take care of
addition and removal of files, I think.

Nico.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 01 Jun 2020 17:18:01 +0000
Resent-Message-ID: <handler.41646.B41646.15910318508841 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Cc: 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.15910318508841
          (code B ref 41646); Mon, 01 Jun 2020 17:18:01 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Jun 2020 17:17:30 +0000
Received: from localhost ([127.0.0.1]:36911 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jfo42-0002IX-KD
	for submit <at> debbugs.gnu.org; Mon, 01 Jun 2020 13:17:30 -0400
Received: from eggs.gnu.org ([209.51.188.92]:50408)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1jfo41-0002IJ-1k
 for 41646 <at> debbugs.gnu.org; Mon, 01 Jun 2020 13:17:29 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:52735)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1jfo3v-00075d-Qv; Mon, 01 Jun 2020 13:17:23 -0400
Received: from [176.228.60.248] (port=3670 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1jfo3v-0002FO-58; Mon, 01 Jun 2020 13:17:23 -0400
Date: Mon, 01 Jun 2020 20:17:19 +0300
Message-Id: <83pnaieme8.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@HIDDEN>
 (message from Nicolas =?UTF-8?Q?B=C3=A9rtolo?= on Mon, 1 Jun 2020 13:46:01
 -0300)
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <83y2p6epp5.fsf@HIDDEN>
 <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Nicolas Bértolo <nicolasbertolo@HIDDEN>
> Date: Mon, 1 Jun 2020 13:46:01 -0300
> Cc: 41646 <at> debbugs.gnu.org
> 
> > So this is not specific to Windows, it's just that Windows has slower
> > file access.  IOW, if load-path becomes significantly larger, the slow
> > startup will show on Posix systems as well, right?
> 
> Exactly, but not nearly as bad. I profiled the same Spacemacs configuration in
> Ubuntu 20.04 and startup takes 10 seconds, with 5 seconds spent inside openp().
> 
> Compare this to 40 seconds in total and 32 seconds inside openp() in Windows.

You may be surprised how many users of GNU/Linux consider 5 sec during
startup an unacceptable slowdown.

> > Next question: are the 'wopen' calls coming from 'openp'? if so,
> > perhaps we could first try a cheaper call, like 'chmod' (or its Win32
> > API equivalent), and save the 'wopen' call if 'chmod' fails?  Did you
> > try that?
> 
> They come from openp(), yes. I haven't tried it. I think the issue is related to
> the IO architecture in Windows, so I don't expect major speedups, but it could
> certainly help.

'chmod' doesn't access the file, it only accesses the directory.  So
it could be much faster.

> > My main concern with a cache is how to make sure it reflects what's on
> > the disk, when files are added or removed.
> 
> That is my main concern as well. A good option would be to rely on package.el to
> generate the load-cache.el file for a package when it generates autoloads. If we
> can't find any of the files mentioned in the cache then we fallback to the
> current load-path code. That is a simple solution that would take care of
> addition and removal of files, I think.

Is this supposed to work only when packages are installed by
package.el?  What about manual installation?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 01 Jun 2020 19:52:02 +0000
Resent-Message-ID: <handler.41646.B41646.159104108923379 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.159104108923379
          (code B ref 41646); Mon, 01 Jun 2020 19:52:02 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Jun 2020 19:51:29 +0000
Received: from localhost ([127.0.0.1]:37062 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jfqT3-000651-5x
	for submit <at> debbugs.gnu.org; Mon, 01 Jun 2020 15:51:29 -0400
Received: from mail-oi1-f180.google.com ([209.85.167.180]:35683)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <nicolasbertolo@HIDDEN>) id 1jfqT2-00064o-2c
 for 41646 <at> debbugs.gnu.org; Mon, 01 Jun 2020 15:51:28 -0400
Received: by mail-oi1-f180.google.com with SMTP id z9so9930896oid.2
 for <41646 <at> debbugs.gnu.org>; Mon, 01 Jun 2020 12:51:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=Wr8pZ/lJXmZWLSeD7ZY4nT2wbqvGZnCycd8Tm+2TSIg=;
 b=ljvREt93z9ppuOmYu4biCMtUB1nkQS1e2h9peZqQHeaK8VDHjZXIg7YbHg7hODDbHz
 A/wtA8CUI+9+7/4yiqFufGKzb797RS9+zfGWfNaph0HKNj21ofU7cH4XKUsRQC+Oe3dJ
 PrBgtTGPcCQI32A0Tevm+yh7/P3a6TlL8oGVyKNTz5EeNLJBBsMen3vSDKUoiu719xOx
 Al7pVPgjw/7VYpGfHKJ8++cg9gYb81KHYtdQDK69VP0LPCzd1XmEazJRFST++ii7Owx0
 ozDko/hm2RGp5YnlH4x77VSZ4EUnfjxfVkYxzmhgJ2FBBLZsnHlcvRsu1DmNGm6SyhzL
 Gomg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=Wr8pZ/lJXmZWLSeD7ZY4nT2wbqvGZnCycd8Tm+2TSIg=;
 b=pvSsSYi3mebzTUwdPVvPyY/Si2FcW70Xysk4fUpNoet3tZ43vtrx0VuUw/pzzxQrAg
 dQyU2KXbHipwHJTzr+ZKSDY8RW3unEc97A9YPNgfNMwOP83ZK+gW260wUYNee9RrLhT/
 GxbaugZGTTkJP7yRF4I1mOlT09VWrY5wbxbMMibrOKkuCPtdZFwQNhar9jQPjgVoGzu1
 D4ngAP4EOw5TWo8++x7TAtqqbuoRt3IM88/xjOnQvcvwvHJOx0AhSDynllBLxF+Wn4f/
 khUhIzw8vM02lNCpX2B5g1YJSImnYB7tPu3wNuG10ydBjgKHGwe24isQvtJ5Vymrvps1
 lN0A==
X-Gm-Message-State: AOAM531eegzdX1Wl/q10G8cPqATpXsTJcWvq8kNItFI802ab79RlCZyc
 panW6pEX9d3Gjus8gi5suK6CUI10pzGlzM55SjeVqEyMyOsWuw==
X-Google-Smtp-Source: ABdhPJyFuoVB2AFlB1CUJ8HPuq+oWhtmnhs/L1+S49cAttXBVCFVLSxNR+ghZYyHbzT5tN8sxNvWxv4ij5w8tCUrpS8=
X-Received: by 2002:aca:b742:: with SMTP id h63mr611739oif.65.1591041082536;
 Mon, 01 Jun 2020 12:51:22 -0700 (PDT)
MIME-Version: 1.0
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <83y2p6epp5.fsf@HIDDEN>
 <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@HIDDEN>
 <83pnaieme8.fsf@HIDDEN>
In-Reply-To: <83pnaieme8.fsf@HIDDEN>
From: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Date: Mon, 1 Jun 2020 16:51:11 -0300
Message-ID: <CAFnS-OkB7+_Gz0+sGVfr9er9_cC_yLZi=69PnjZm7TK53JZVQQ@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 (-)

> You may be surprised how many users of GNU/Linux consider 5 sec during
> startup an unacceptable slowdown.

Me too. But I had given up on it until I read how it was implemented.

> 'chmod' doesn't access the file, it only accesses the directory.  So
> it could be much faster.

As far as I can see there is no way to issue a call to 'chmod' that does not
try to change the permissions of the file passed. I will try to do it
with access().

> Is this supposed to work only when packages are installed by
> package.el?  What about manual installation?

Everything should work OK as long as you provide a load-cache.el file in the
directory you add to load-path. We could provide a function to generate it
automatically.

Thanks, Nico




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Tue, 02 Jun 2020 02:19:02 +0000
Resent-Message-ID: <handler.41646.B41646.15910642872372 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Cc: 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.15910642872372
          (code B ref 41646); Tue, 02 Jun 2020 02:19:02 +0000
Received: (at 41646) by debbugs.gnu.org; 2 Jun 2020 02:18:07 +0000
Received: from localhost ([127.0.0.1]:37500 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jfwV9-0000c8-7h
	for submit <at> debbugs.gnu.org; Mon, 01 Jun 2020 22:18:06 -0400
Received: from eggs.gnu.org ([209.51.188.92]:41330)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1jfwV6-0000be-TM
 for 41646 <at> debbugs.gnu.org; Mon, 01 Jun 2020 22:18:02 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:34377)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1jfwV1-00048Y-Mv; Mon, 01 Jun 2020 22:17:55 -0400
Received: from [176.228.60.248] (port=4906 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1jfwV1-0002KV-2u; Mon, 01 Jun 2020 22:17:55 -0400
Date: Tue, 02 Jun 2020 05:17:40 +0300
Message-Id: <83eeqydxdn.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CAFnS-OkB7+_Gz0+sGVfr9er9_cC_yLZi=69PnjZm7TK53JZVQQ@HIDDEN>
 (message from Nicolas =?UTF-8?Q?B=C3=A9rtolo?= on Mon, 1 Jun 2020 16:51:11
 -0300)
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <83y2p6epp5.fsf@HIDDEN>
 <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@HIDDEN>
 <83pnaieme8.fsf@HIDDEN>
 <CAFnS-OkB7+_Gz0+sGVfr9er9_cC_yLZi=69PnjZm7TK53JZVQQ@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Nicolas Bértolo <nicolasbertolo@HIDDEN>
> Date: Mon, 1 Jun 2020 16:51:11 -0300
> Cc: 41646 <at> debbugs.gnu.org
> 
> > 'chmod' doesn't access the file, it only accesses the directory.  So
> > it could be much faster.
> 
> As far as I can see there is no way to issue a call to 'chmod' that does not
> try to change the permissions of the file passed. I will try to do it
> with access().

Sorry, I meant 'access', of course.  More accurately,
GetFileAttributes.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 03 Jun 2020 01:09:01 +0000
Resent-Message-ID: <handler.41646.B41646.159114648423615 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: 
To: Eli Zaretskii <eliz@HIDDEN>
Cc: 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.159114648423615
          (code B ref 41646); Wed, 03 Jun 2020 01:09:01 +0000
Received: (at 41646) by debbugs.gnu.org; 3 Jun 2020 01:08:04 +0000
Received: from localhost ([127.0.0.1]:41481 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jgHsy-00068p-Go
	for submit <at> debbugs.gnu.org; Tue, 02 Jun 2020 21:08:04 -0400
Received: from mail-oi1-f181.google.com ([209.85.167.181]:44241)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <nicolasbertolo@HIDDEN>) id 1jgHsx-00068L-By
 for 41646 <at> debbugs.gnu.org; Tue, 02 Jun 2020 21:08:03 -0400
Received: by mail-oi1-f181.google.com with SMTP id x202so257818oix.11
 for <41646 <at> debbugs.gnu.org>; Tue, 02 Jun 2020 18:08:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=vmH6cwS+LsGC2cItcdx57vBifK+AaVtZ1pwa1dD9qZg=;
 b=IAoyeBKUtif++Oo8e2NEeaW4AWRqpnlJrVaEQ9ho2X+b9HUvqJkvBUm1VKuCSuctSQ
 ZvzOFNv6ctHLD7tTFOr2fqkwukWcXbFPB5Xmd0cV+9hgtd89+eos6kTbNBQ2BXhHVBLp
 IB6etg/quEtc3pTcC8sP/ENPuU7RRLYGXjtIX1p4kSAEZEZQma9fee8j2P38UPGZJ9iR
 u+hTvuZpk3Ljp+N6JnStGMfSK35oytyqL1j6v6tLo4uCF+Iv1Bu1GuuxvoG9erSZ/pDx
 AoQYK7iQBDXkUNJf8TTuO6745arDJ9OXCs5vKJUjAdPiCW1n1jCy5c2xlpesRZhhgQG3
 Z3hw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:mime-version:references:in-reply-to:from:date
 :message-id:subject:to:cc;
 bh=vmH6cwS+LsGC2cItcdx57vBifK+AaVtZ1pwa1dD9qZg=;
 b=m+B01HKCBRtgooF39r+lbEGxa8mvd40Z9M71SJG574Sh0KDb+oE4w0AMe5ecBVQTAi
 SROX7Dzqo1RRRDe4StcCqgAq5OpKz8+CVMauAW8O/Y5OH06O+XIdwYviFuNXPAqJ+3NS
 NFlkKetGD8D7FiY9swQLEC+ORgDkxLZUVXIKnxr/N1KYTlfna9f3f4ZPunQPsCmqaU+9
 sKdbTixMzoHY+2Jskcz+n+4vhUPoEroIZx1z8dLg/LFy/Fa2Dkgp3FhzyO6/k/Ghqz76
 O8KGEYZcRs7jXy+P2b/9eC4a5zYLLg+Cy5Ug6xNRvUsceYGVYxd6b0FHVFwr8r+9wMFt
 7zcw==
X-Gm-Message-State: AOAM532bTULTRTfx0oqrtpaZgSz2Gtvif8/PcgcYppCHzWztYa3InSaY
 bJOWPIeGUh7I39WdmHuLiGxlbPvddolZreIFnmzHal4je1I=
X-Google-Smtp-Source: ABdhPJwPLB+4VHCw5bHfK1C3tDgsTBnOMcZDpxUPgu2vYmOIG+LB1PyqEC2eK8cJU74+MRd5WZgMAMXGgqhL0bZVRqI=
X-Received: by 2002:a54:4701:: with SMTP id k1mr4814331oik.175.1591146477530; 
 Tue, 02 Jun 2020 18:07:57 -0700 (PDT)
MIME-Version: 1.0
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <83y2p6epp5.fsf@HIDDEN>
 <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@HIDDEN>
 <83pnaieme8.fsf@HIDDEN>
 <CAFnS-OkB7+_Gz0+sGVfr9er9_cC_yLZi=69PnjZm7TK53JZVQQ@HIDDEN>
 <83eeqydxdn.fsf@HIDDEN>
In-Reply-To: <83eeqydxdn.fsf@HIDDEN>
From: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Date: Tue, 2 Jun 2020 22:07:45 -0300
Message-ID: <CAFnS-Okkw3facctWKOfmYS9gSseD3c2=VYfw4tSyBrpZY_W5AA@HIDDEN>
Content-Type: multipart/mixed; boundary="00000000000094619705a723a808"
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 (-)

--00000000000094619705a723a808
Content-Type: text/plain; charset="UTF-8"

> Sorry, I meant 'access', of course.  More accurately,
> GetFileAttributes.

That was a very good idea. The attached patch reduces time spent
in openp() during startup by 5 seconds, or 15%.

Thanks, Nico.

--00000000000094619705a723a808
Content-Type: application/octet-stream; 
	name="0001-In-Windows-check-if-file-exists-before-opening-it.patch"
Content-Disposition: attachment; 
	filename="0001-In-Windows-check-if-file-exists-before-opening-it.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_kaynijhk0>
X-Attachment-Id: f_kaynijhk0

RnJvbSA0OTdkMmJjY2ZmYTBhOWIwNDg3MDMwN2VjNWNkODVkODFjZjY1ZDg5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Tmljb2w9QzM9QTFzPTIwQj1DMz1BOXJ0b2xv
Pz0gPG5pY29sYXNiZXJ0b2xvQGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyIEp1biAyMDIwIDIyOjAy
OjI3IC0wMzAwClN1YmplY3Q6IFtQQVRDSF0gSW4gV2luZG93cyBjaGVjayBpZiBmaWxlIGV4aXN0
cyBiZWZvcmUgb3BlbmluZyBpdC4KClRoaXMgcmVkdWNlcyB0aW1lIHNwZW50IGluICdvcGVucCcg
YnkgMTUlIGR1cmluZyBzdGFydHVwIGluIG15IHRlc3RzLgoKKiBzcmMvbHJlYWQuYyAob3BlbnAp
OiBVc2UgZmFjY2Vzc2F0IHRvIGNoZWNrIHRoYXQgYSBmaWxlIGV4aXN0cwpiZWZvcmUgb3Blbmlu
ZyBpdC4KLS0tCiBzcmMvbHJlYWQuYyB8IDEyICsrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQs
IDExIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9zcmMvbHJlYWQu
YyBiL3NyYy9scmVhZC5jCmluZGV4IDI5ZGVkZGFmMTVmLi44ZWExOWRkOGQwOCAxMDA2NDQKLS0t
IGEvc3JjL2xyZWFkLmMKKysrIGIvc3JjL2xyZWFkLmMKQEAgLTE3NDIsNyArMTc0MiwxNyBAQCBv
cGVucCAoTGlzcF9PYmplY3QgcGF0aCwgTGlzcF9PYmplY3Qgc3RyLCBMaXNwX09iamVjdCBzdWZm
aXhlcywKIAkgICAgICB9CiAJICAgIGVsc2UKIAkgICAgICB7Ci0JCWZkID0gZW1hY3Nfb3BlbiAo
cGZuLCBPX1JET05MWSwgMCk7CisgICAgICAgICAgICAgICAgLyogIEluIHNvbWUgc3lzdGVtcyAo
bGlrZSBXaW5kb3dzKSBmaW5kaW5nIG91dCBpZiBhCisgICAgICAgICAgICAgICAgICAgIGZpbGUg
ZXhpc3RzIGlzIGNoZWFwZXIgdG8gZG8gdGhhbiBhY3R1YWxseSBvcGVuaW5nCisgICAgICAgICAg
ICAgICAgICAgIGl0LiAgT25seSBvcGVuIHRoZSBmaWxlIHdoZW4gd2UgYXJlIHN1cmUgdGhhdCBp
dAorICAgICAgICAgICAgICAgICAgICBleGlzdHMuICAqLworI2lmZGVmIFdJTkRPV1NOVAorICAg
ICAgICAgICAgICAgIGlmIChmYWNjZXNzYXQgKEFUX0ZEQ1dELCBwZm4sIFJfT0ssIEFUX0VBQ0NF
U1MpKQorICAgICAgICAgICAgICAgICAgZmQgPSAtMTsKKyAgICAgICAgICAgICAgICBlbHNlCisj
ZW5kaWYKKyAgICAgICAgICAgICAgICAgIGZkID0gZW1hY3Nfb3BlbiAocGZuLCBPX1JET05MWSwg
MCk7CisKIAkJaWYgKGZkIDwgMCkKIAkJICB7CiAJCSAgICBpZiAoISAoZXJybm8gPT0gRU5PRU5U
IHx8IGVycm5vID09IEVOT1RESVIpKQotLSAKMi4yNS4xLndpbmRvd3MuMQoK
--00000000000094619705a723a808--




Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 13 Aug 2020 01:12:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Aug 12 21:12:33 2020
Received: from localhost ([127.0.0.1]:46208 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k61nF-0004Ba-Fp
	for submit <at> debbugs.gnu.org; Wed, 12 Aug 2020 21:12:33 -0400
Received: from mail-yb1-f171.google.com ([209.85.219.171]:40692)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1k61nD-0004B9-FC
 for control <at> debbugs.gnu.org; Wed, 12 Aug 2020 21:12:31 -0400
Received: by mail-yb1-f171.google.com with SMTP id q3so2395616ybp.7
 for <control <at> debbugs.gnu.org>; Wed, 12 Aug 2020 18:12:31 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:mime-version:date:message-id:subject:to;
 bh=MouStb70SRUHqaky2n5D0DlBLv4uhTTPE1AtBY84hoQ=;
 b=VHKT1m9DuWYxWV0Sf/sFc+zOaCQ7nOLR5MSOMkYYXi1FF9LrL5F3ZBPG6zlzknV6Mq
 Rw1jb4JfjP1/7e9csWyttgQ7RlE203kSYxeN5uqtzFuOBXgojCKsXHzqYU4znK2up68d
 DEokOYp9ezP1RiiZfd0ACspug289/njLik1+1euUfhl5V0Qq03eGusm+UjyKdJx9OLv4
 RiUgFjnoNVG5GQQ5BTuO6OEw3TU/o6LKBudSgaUO9SVBlsqL4Bx5GsV/1g8Fj9UCCqRR
 6axE791YcUV/uYC+FOzyPKw3OTkOAiSOMNR8H2XOEwm+4ISxQFjrCfMRqTkFD1BmHRfk
 VCpQ==
X-Gm-Message-State: AOAM533bUgOlQq+N3WZ6tfDxuiIP8LCPUu/3AjgO5cAzkrOnMXQjxvFs
 CDoK3L/zRejiky0eHNFWb02V4RbopY8CzScJQRqoygv+J5U=
X-Google-Smtp-Source: ABdhPJz+Dxz/Ph2l9SpPFcRAYuMhnTrKjrIlOEGc8hVcbZ4MrveiB25ncueSoAWd+wXXaEc7+3Nw0+vKpqoe1i9gUjU=
X-Received: by 2002:a25:880e:: with SMTP id c14mr3143494ybl.181.1597281146061; 
 Wed, 12 Aug 2020 18:12:26 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Wed, 12 Aug 2020 18:12:25 -0700
From: Stefan Kangas <stefan@HIDDEN>
MIME-Version: 1.0
Date: Wed, 12 Aug 2020 18:12:25 -0700
Message-ID: <CADwFkmknmHzTCZ86UfXvAG14nRx3Ymi30fterdBzbdEbNsYKKw@HIDDEN>
Subject: 
To: control <at> debbugs.gnu.org
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 2.0 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  tags 41646 + patch thanks 
 Content analysis details:   (2.0 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 HEADER_FROM_DIFFERENT_DOMAINS From and EnvelopeFrom 2nd level
 mail domains are different
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (stefankangas[at]gmail.com)
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [209.85.219.171 listed in list.dnswl.org]
 -0.0 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)
 [209.85.219.171 listed in wl.mailspike.net]
 0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay
 lines
 0.0 FREEMAIL_FORGED_FROMDOMAIN 2nd level domains in From and
 EnvelopeFrom freemail headers are different
 2.0 BLANK_SUBJECT          Subject is present but empty
X-Debbugs-Envelope-To: control
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 (+)

tags 41646 + patch
thanks




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Lars Ingebrigtsen <larsi@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 14 Aug 2020 17:23:01 +0000
Resent-Message-ID: <handler.41646.B41646.15974257606816 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.15974257606816
          (code B ref 41646); Fri, 14 Aug 2020 17:23:01 +0000
Received: (at 41646) by debbugs.gnu.org; 14 Aug 2020 17:22:40 +0000
Received: from localhost ([127.0.0.1]:53744 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k6dPb-0001ls-Rw
	for submit <at> debbugs.gnu.org; Fri, 14 Aug 2020 13:22:40 -0400
Received: from quimby.gnus.org ([95.216.78.240]:43946)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1k6dPZ-0001la-Et
 for 41646 <at> debbugs.gnu.org; Fri, 14 Aug 2020 13:22:37 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Transfer-Encoding:Content-Type:MIME-Version:Message-ID
 :In-Reply-To:Date:References:Subject:Cc:To:From:Sender:Reply-To:Content-ID:
 Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
 :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe:
 List-Post:List-Owner:List-Archive;
 bh=KQVTGMoEGhJvwjogexqX7ajsaJ/awYcbVVH51ygXNe8=; b=eOMs3JP8Fce3FTRdAqTgXlG/2J
 XkEEnL+ONdvsAMqD2FSvz+kgnHZIEAlj4lWj3+fbbeoR3dXc7VqOFRn6yPwCs+iTKQWvf1fHMYGRB
 f7Q2Qwd1bvvIolWu4B6xhckYXFrhnrvYf9lYD+atPvmUuF63keThyGzyBctZ3rLo9UfU=;
Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=xo)
 by quimby with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1k6dPQ-0004br-MZ; Fri, 14 Aug 2020 19:22:31 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <83y2p6epp5.fsf@HIDDEN>
 <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@HIDDEN>
 <83pnaieme8.fsf@HIDDEN>
 <CAFnS-OkB7+_Gz0+sGVfr9er9_cC_yLZi=69PnjZm7TK53JZVQQ@HIDDEN>
 <83eeqydxdn.fsf@HIDDEN>
 <CAFnS-Okkw3facctWKOfmYS9gSseD3c2=VYfw4tSyBrpZY_W5AA@HIDDEN>
Date: Fri, 14 Aug 2020 19:22:26 +0200
In-Reply-To: <CAFnS-Okkw3facctWKOfmYS9gSseD3c2=VYfw4tSyBrpZY_W5AA@HIDDEN>
 ("Nicolas =?UTF-8?Q?B=C3=A9rtolo?="'s message of "Tue, 2 Jun 2020
 22:07:45 -0300")
Message-ID: <87r1s92ld9.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 
 Content preview:  Nicolas =?UTF-8?Q?B=C3=A9rtolo?= <nicolasbertolo@HIDDEN> writes: >> Sorry,
    I meant 'access', of course. More accurately, >> GetFileAttributes. > > That
    was a very good idea. The attached patch reduces time spent > in openp()
   during startup by 5 seconds, or 15%. 
 
 Content analysis details:   (-2.9 points, 5.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
                             [score: 0.0000]
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 (-)

Nicolas B=C3=A9rtolo <nicolasbertolo@HIDDEN> writes:

>> Sorry, I meant 'access', of course.  More accurately,
>> GetFileAttributes.
>
> That was a very good idea. The attached patch reduces time spent
> in openp() during startup by 5 seconds, or 15%.

That's a huge speed-up indeed.

[...]

> -		fd =3D emacs_open (pfn, O_RDONLY, 0);
> +                /*  In some systems (like Windows) finding out if a
> +                    file exists is cheaper to do than actually opening
> +                    it.  Only open the file when we are sure that it
> +                    exists.  */
> +#ifdef WINDOWSNT
> +                if (faccessat (AT_FDCWD, pfn, R_OK, AT_EACCESS))
> +                  fd =3D -1;
> +                else
> +#endif
> +                  fd =3D emacs_open (pfn, O_RDONLY, 0);
> +

This is a Windows-specific patch, so I have no opinion on it.  Eli?
Does this make sense to you?

--=20
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 14 Aug 2020 19:08:02 +0000
Resent-Message-ID: <handler.41646.B41646.15974320511313 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Lars Ingebrigtsen <larsi@HIDDEN>
Cc: nicolasbertolo@HIDDEN, 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.15974320511313
          (code B ref 41646); Fri, 14 Aug 2020 19:08:02 +0000
Received: (at 41646) by debbugs.gnu.org; 14 Aug 2020 19:07:31 +0000
Received: from localhost ([127.0.0.1]:53881 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1k6f35-0000L7-2T
	for submit <at> debbugs.gnu.org; Fri, 14 Aug 2020 15:07:31 -0400
Received: from eggs.gnu.org ([209.51.188.92]:38862)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1k6f30-0000Kr-An
 for 41646 <at> debbugs.gnu.org; Fri, 14 Aug 2020 15:07:29 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:35981)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1k6f2v-0002cW-3H; Fri, 14 Aug 2020 15:07:21 -0400
Received: from [176.228.60.248] (port=4334 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <eliz@HIDDEN>)
 id 1k6f2u-0005YN-Au; Fri, 14 Aug 2020 15:07:20 -0400
Date: Fri, 14 Aug 2020 22:07:15 +0300
Message-Id: <837du1kpwc.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <87r1s92ld9.fsf@HIDDEN> (message from Lars Ingebrigtsen on Fri, 
 14 Aug 2020 19:22:26 +0200)
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <83y2p6epp5.fsf@HIDDEN>
 <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@HIDDEN>
 <83pnaieme8.fsf@HIDDEN>
 <CAFnS-OkB7+_Gz0+sGVfr9er9_cC_yLZi=69PnjZm7TK53JZVQQ@HIDDEN>
 <83eeqydxdn.fsf@HIDDEN>
 <CAFnS-Okkw3facctWKOfmYS9gSseD3c2=VYfw4tSyBrpZY_W5AA@HIDDEN>
 <87r1s92ld9.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Lars Ingebrigtsen <larsi@HIDDEN>
> Cc: Eli Zaretskii <eliz@HIDDEN>,  41646 <at> debbugs.gnu.org
> Date: Fri, 14 Aug 2020 19:22:26 +0200
> 
> > That was a very good idea. The attached patch reduces time spent
> > in openp() during startup by 5 seconds, or 15%.
> 
> That's a huge speed-up indeed.
> 
> [...]
> 
> > -		fd = emacs_open (pfn, O_RDONLY, 0);
> > +                /*  In some systems (like Windows) finding out if a
> > +                    file exists is cheaper to do than actually opening
> > +                    it.  Only open the file when we are sure that it
> > +                    exists.  */
> > +#ifdef WINDOWSNT
> > +                if (faccessat (AT_FDCWD, pfn, R_OK, AT_EACCESS))
> > +                  fd = -1;
> > +                else
> > +#endif
> > +                  fd = emacs_open (pfn, O_RDONLY, 0);
> > +
> 
> This is a Windows-specific patch, so I have no opinion on it.  Eli?
> Does this make sense to you?

Not sure.  15% sounds too little for having OS-specific code in that
place.  I hoped it will be much more.





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Lars Ingebrigtsen <larsi@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 13 May 2021 09:18:02 +0000
Resent-Message-ID: <handler.41646.B41646.162089743724360 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: nicolasbertolo@HIDDEN, 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.162089743724360
          (code B ref 41646); Thu, 13 May 2021 09:18:02 +0000
Received: (at 41646) by debbugs.gnu.org; 13 May 2021 09:17:17 +0000
Received: from localhost ([127.0.0.1]:41323 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lh7T3-0006Kq-Lz
	for submit <at> debbugs.gnu.org; Thu, 13 May 2021 05:17:17 -0400
Received: from quimby.gnus.org ([95.216.78.240]:39996)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1lh7T2-0006Kb-8N
 for 41646 <at> debbugs.gnu.org; Thu, 13 May 2021 05:17:16 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:
 References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=xfMsPqI8cWw32+EEWq5vnkD0NPEvVR/kflp4YIG7zsI=; b=P8wmURDd/2jOJskR16wIzZ8lWp
 xCihDOcUWsOoY1HRsV1RMA54w27RfLfp7vxFQ0tHUdurKybWndFOxsX/IWCMLW7N3SIqwjo0vPJwG
 UkWmgS5ohh4CpmFjXVmOJiJdCAiZv16TwuCP4GWX0TBp/E8bsNy4TZYYQZPnXXyTkxDs=;
Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=xo)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1lh7St-00028M-M5; Thu, 13 May 2021 11:17:10 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <83y2p6epp5.fsf@HIDDEN>
 <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@HIDDEN>
 <83pnaieme8.fsf@HIDDEN>
 <CAFnS-OkB7+_Gz0+sGVfr9er9_cC_yLZi=69PnjZm7TK53JZVQQ@HIDDEN>
 <83eeqydxdn.fsf@HIDDEN>
 <CAFnS-Okkw3facctWKOfmYS9gSseD3c2=VYfw4tSyBrpZY_W5AA@HIDDEN>
 <87r1s92ld9.fsf@HIDDEN> <837du1kpwc.fsf@HIDDEN>
X-Now-Playing: Chrome Hoof's _Pre-Emptive False Rapture_: "Pronoid"
Date: Thu, 13 May 2021 11:17:07 +0200
In-Reply-To: <837du1kpwc.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 14 Aug
 2020 22:07:15 +0300")
Message-ID: <87bl9fro18.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview: Eli Zaretskii <eliz@HIDDEN> writes: >> This is a
 Windows-specific
 patch, so I have no opinion on it. Eli? >> Does this make sense to you? >
 > Not sure. 15% sounds too little for having OS-specific code in that > place.
 I hoped it will b [...] 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
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 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

>> This is a Windows-specific patch, so I have no opinion on it.  Eli?
>> Does this make sense to you?
>
> Not sure.  15% sounds too little for having OS-specific code in that
> place.  I hoped it will be much more.

So would your preference be to not apply the patch?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 13 May 2021 10:21:01 +0000
Resent-Message-ID: <handler.41646.B41646.16209012596352 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Lars Ingebrigtsen <larsi@HIDDEN>
Cc: nicolasbertolo@HIDDEN, 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.16209012596352
          (code B ref 41646); Thu, 13 May 2021 10:21:01 +0000
Received: (at 41646) by debbugs.gnu.org; 13 May 2021 10:20:59 +0000
Received: from localhost ([127.0.0.1]:41410 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lh8Sg-0001eO-Qy
	for submit <at> debbugs.gnu.org; Thu, 13 May 2021 06:20:59 -0400
Received: from eggs.gnu.org ([209.51.188.92]:48788)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1lh8Sf-0001eA-IR
 for 41646 <at> debbugs.gnu.org; Thu, 13 May 2021 06:20:57 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:36644)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <eliz@HIDDEN>)
 id 1lh8Sa-0003vh-C5; Thu, 13 May 2021 06:20:52 -0400
Received: from 84.94.185.95.cable.012.net.il ([84.94.185.95]:3423
 helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1lh8SW-00073A-PR; Thu, 13 May 2021 06:20:51 -0400
Date: Thu, 13 May 2021 13:20:58 +0300
Message-Id: <83lf8j0wad.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <87bl9fro18.fsf@HIDDEN> (message from Lars Ingebrigtsen on Thu, 
 13 May 2021 11:17:07 +0200)
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <83y2p6epp5.fsf@HIDDEN>
 <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@HIDDEN>
 <83pnaieme8.fsf@HIDDEN>
 <CAFnS-OkB7+_Gz0+sGVfr9er9_cC_yLZi=69PnjZm7TK53JZVQQ@HIDDEN>
 <83eeqydxdn.fsf@HIDDEN>
 <CAFnS-Okkw3facctWKOfmYS9gSseD3c2=VYfw4tSyBrpZY_W5AA@HIDDEN>
 <87r1s92ld9.fsf@HIDDEN> <837du1kpwc.fsf@HIDDEN>
 <87bl9fro18.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Lars Ingebrigtsen <larsi@HIDDEN>
> Cc: nicolasbertolo@HIDDEN,  41646 <at> debbugs.gnu.org
> Date: Thu, 13 May 2021 11:17:07 +0200
> 
> Eli Zaretskii <eliz@HIDDEN> writes:
> 
> >> This is a Windows-specific patch, so I have no opinion on it.  Eli?
> >> Does this make sense to you?
> >
> > Not sure.  15% sounds too little for having OS-specific code in that
> > place.  I hoped it will be much more.
> 
> So would your preference be to not apply the patch?

No, I guess it's okay after all, so let's install it.

TIA




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many entries.
Resent-From: Lars Ingebrigtsen <larsi@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 13 May 2021 11:32:02 +0000
Resent-Message-ID: <handler.41646.B41646.162090550828230 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch
To: Eli Zaretskii <eliz@HIDDEN>
Cc: nicolasbertolo@HIDDEN, 41646 <at> debbugs.gnu.org
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.162090550828230
          (code B ref 41646); Thu, 13 May 2021 11:32:02 +0000
Received: (at 41646) by debbugs.gnu.org; 13 May 2021 11:31:48 +0000
Received: from localhost ([127.0.0.1]:41471 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lh9ZE-0007L0-BU
	for submit <at> debbugs.gnu.org; Thu, 13 May 2021 07:31:48 -0400
Received: from quimby.gnus.org ([95.216.78.240]:41434)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1lh9ZC-0007Fa-NM
 for 41646 <at> debbugs.gnu.org; Thu, 13 May 2021 07:31:47 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:
 References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding:
 Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:
 Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=Irwdq/pYUOfPvpfGSarQj5p2/MHAx5TAMTGI8wdsVdA=; b=l2J83lClP+N/CSyg6K5+n8ia1A
 diN1KS85kfn7IqbuBPqLxPif087Uj2U9+WJQ6lpfUNnN8Rtbd4Zh4hZBKDMLDEB8Se4k1wK6OqJ6f
 C+5V8LKEMxVyuzQw+FJ+8kzHI7LmmBfjoe6HABlyjuThLV1I138/On5YSsqzF4plQq78=;
Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=xo)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>)
 id 1lh9Z4-0004CN-14; Thu, 13 May 2021 13:31:40 +0200
From: Lars Ingebrigtsen <larsi@HIDDEN>
References: <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <83y2p6epp5.fsf@HIDDEN>
 <CAFnS-Ok_86j+CY1jJtH7CU3eC7=GpVqwvgrb5_iV01FWnVUc0A@HIDDEN>
 <83pnaieme8.fsf@HIDDEN>
 <CAFnS-OkB7+_Gz0+sGVfr9er9_cC_yLZi=69PnjZm7TK53JZVQQ@HIDDEN>
 <83eeqydxdn.fsf@HIDDEN>
 <CAFnS-Okkw3facctWKOfmYS9gSseD3c2=VYfw4tSyBrpZY_W5AA@HIDDEN>
 <87r1s92ld9.fsf@HIDDEN> <837du1kpwc.fsf@HIDDEN>
 <87bl9fro18.fsf@HIDDEN> <83lf8j0wad.fsf@HIDDEN>
X-Now-Playing: Martina Topley-Bird's _Quixotic_: "Stevie's (Day's of a Gun)"
Date: Thu, 13 May 2021 13:31:37 +0200
In-Reply-To: <83lf8j0wad.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 13 May
 2021 13:20:58 +0300")
Message-ID: <87tun6q38m.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  Eli Zaretskii <eliz@HIDDEN> writes: > No, I guess it's okay
 after all, so let's install it. OK; I tested the patch on a Windows VM, and
 Emacs seemed to start normally, as far as I could tell (but I didn't test
 it further than that). 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
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 (-)

Eli Zaretskii <eliz@HIDDEN> writes:

> No, I guess it's okay after all, so let's install it.

OK; I tested the patch on a Windows VM, and Emacs seemed to start
normally, as far as I could tell (but I didn't test it further than
that).

Pushed to Emacs 28 now.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 13 May 2021 11:31:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 13 07:31:55 2021
Received: from localhost ([127.0.0.1]:41474 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lh9ZK-0007Q1-Na
	for submit <at> debbugs.gnu.org; Thu, 13 May 2021 07:31:54 -0400
Received: from quimby.gnus.org ([95.216.78.240]:41450)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1lh9ZI-0007KI-JI
 for control <at> debbugs.gnu.org; Thu, 13 May 2021 07:31:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc:
 MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:
 Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
 :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=oS65KXT8MKUDKT0UKb9fsYGxFSxFFrGZ7I81hLjfP+g=; b=BYHPMvyXA90c+pLmxF8y2qKl7H
 Gc3x+GfQzsD1gntgNKK+z1wdtniSaXEP8UBxmA/0a3ZEA0u+9VqRx17CSKTNQINL6t13U22YZE5bQ
 xCUHeGj9JocX68/+vj5stvrMOEIYeZ6mXHh2YNVwwG3iqZ8YlxHj11Q8Gb17TK5ADiGs=;
Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=xo)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>) id 1lh9ZB-0004CZ-3m
 for control <at> debbugs.gnu.org; Thu, 13 May 2021 13:31:47 +0200
Date: Thu, 13 May 2021 13:31:44 +0200
Message-Id: <87sg2qq38f.fsf@HIDDEN>
To: control <at> debbugs.gnu.org
From: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: control message for bug #41646
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  tags 41646 fixed close 41646 28.1 quit 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: control
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 (-)

tags 41646 fixed
close 41646 28.1
quit





Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 13 May 2021 11:31:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 13 07:31:55 2021
Received: from localhost ([127.0.0.1]:41474 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lh9ZK-0007Q1-Na
	for submit <at> debbugs.gnu.org; Thu, 13 May 2021 07:31:54 -0400
Received: from quimby.gnus.org ([95.216.78.240]:41450)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <larsi@HIDDEN>) id 1lh9ZI-0007KI-JI
 for control <at> debbugs.gnu.org; Thu, 13 May 2021 07:31:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnus.org;
 s=20200322; h=Subject:From:To:Message-Id:Date:Sender:Reply-To:Cc:
 MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:
 Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc
 :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:
 List-Subscribe:List-Post:List-Owner:List-Archive;
 bh=oS65KXT8MKUDKT0UKb9fsYGxFSxFFrGZ7I81hLjfP+g=; b=BYHPMvyXA90c+pLmxF8y2qKl7H
 Gc3x+GfQzsD1gntgNKK+z1wdtniSaXEP8UBxmA/0a3ZEA0u+9VqRx17CSKTNQINL6t13U22YZE5bQ
 xCUHeGj9JocX68/+vj5stvrMOEIYeZ6mXHh2YNVwwG3iqZ8YlxHj11Q8Gb17TK5ADiGs=;
Received: from cm-84.212.220.105.getinternet.no ([84.212.220.105] helo=xo)
 by quimby.gnus.org with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.92) (envelope-from <larsi@HIDDEN>) id 1lh9ZB-0004CZ-3m
 for control <at> debbugs.gnu.org; Thu, 13 May 2021 13:31:47 +0200
Date: Thu, 13 May 2021 13:31:44 +0200
Message-Id: <87sg2qq38f.fsf@HIDDEN>
To: control <at> debbugs.gnu.org
From: Lars Ingebrigtsen <larsi@HIDDEN>
Subject: control message for bug #41646
X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 @@CONTACT_ADDRESS@@ for details.
 Content preview:  tags 41646 fixed close 41646 28.1 quit 
 Content analysis details:   (-2.9 points, 5.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -1.0 ALL_TRUSTED            Passed through trusted hosts only via SMTP
 -1.9 BAYES_00               BODY: Bayes spam probability is 0 to 1%
 [score: 0.0000]
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: control
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 (-)

tags 41646 fixed
close 41646 28.1
quit





Message received at fakecontrol@fakecontrolmessage:


Received: (at fakecontrol) by fakecontrolmessage;
To: internal_control <at> debbugs.gnu.org
From: Debbugs Internal Request <help-debbugs@HIDDEN>
Subject: Internal Control
Message-Id: bug archived.
Date: Fri, 11 Jun 2021 11:24:05 +0000
User-Agent: Fakemail v42.6.9

# This is a fake control message.
#
# The action:
# bug archived.
thanks
# This fakemail brought to you by your local debbugs
# administrator


Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 13 Oct 2024 09:30:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Oct 13 05:30:13 2024
Received: from localhost ([127.0.0.1]:50225 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1szuvV-0006C6-6W
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 05:30:13 -0400
Received: from mail-ed1-f46.google.com ([209.85.208.46]:48397)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1szuvT-0006Aj-AN
 for control <at> debbugs.gnu.org; Sun, 13 Oct 2024 05:30:11 -0400
Received: by mail-ed1-f46.google.com with SMTP id
 4fb4d7f45d1cf-5c949d60d84so2445823a12.1
 for <control <at> debbugs.gnu.org>; Sun, 13 Oct 2024 02:29:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1728811730; x=1729416530; darn=debbugs.gnu.org;
 h=to:subject:message-id:date:mime-version:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=B39QuiCxmsPfQe002kfFCuz4zA1JxpMOkjLctrtKupc=;
 b=L3m7iqVVB9ED10CDcKUlRA0UVn+qEkkGCfR6mlKzhQRpJETRDwwB/KO68nmwI9HLqd
 Zb3I/P507oU3krB4/esMbBlpjkg3IYnG9TKTwgtyIuyKAF30KOZ4F8I56BkvC/DZLMPj
 IDMniyYW6zSNblEoy08CnuJ3t3OuMWWnTsuZxslkbkZlgu50UJu7fShXIWoX8Ctt3AUA
 dlxibOezMScffWThsi1VvAOdLsfcfdc6gnU3Q8j1/yNCqHKozxL9dlNKQVVYonsRgAM4
 8lYWtc2ci+uxBMmP3Hz02DbrvuIrWmFXCNJmvm+1PJSQaDReaTFOE7a79Affutb/8S0a
 gUag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1728811730; x=1729416530;
 h=to:subject:message-id:date:mime-version:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=B39QuiCxmsPfQe002kfFCuz4zA1JxpMOkjLctrtKupc=;
 b=EI7pdX6s7y2p8PKzuEZsx4LZO3E7reP8HiYDrBXE31l8FeM+Kke/4LoO9YlumpgFU/
 pPBx0vEmDqkpbgeZ5wGbAGBjw1l3Rwemw0g+WQ9UrEDO/AI83+V4nJcaAL8Yx722CJud
 1XrJMTyzKaVQ+HTgK3CQJIpqjriiYpm6DXA49m9CHsc3qYwHnL0P0DOnbs/S6wfTTz0d
 +WHj05RRgxZl0QIgAcG7Y6lEsBPfpEqA2mw3YRpwcBL3rnZcblxaj80lI/kfeMbnoups
 QBrzhd2dR+bgDV8o2yLcI2/1jdk7tEJW+eszBNdEk1rjAOWtXEH2Plai++T2Sug7zRoy
 xIzQ==
X-Gm-Message-State: AOJu0Ywuuf3/fdDIEOASWDfeQccXAppcTlSZsWwHvnfU3yzAVYGMlgOU
 jvRZgMf8pQOe8Ps2SPHpNLZ/lAs2UFmOx4yIHKOcbOuQ/MWqe+kc8C8hsscLbeEO7go/6Vv44HJ
 9F/IW9PJE7RaAzcwWZEm9Wb/wxromIg==
X-Google-Smtp-Source: AGHT+IEvLKREqZ7PXRDFxFLf0odOjLn+bg6zD96coHpzt1RZbiAnoKoKMsqaKWudvPZlB0WgW2sbvADFFX9oguDOtS0=
X-Received: by 2002:a05:6402:26ce:b0:5c9:7395:b9cf with SMTP id
 4fb4d7f45d1cf-5c97395bbc9mr803890a12.17.1728811730159; Sun, 13 Oct 2024
 02:28:50 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sun, 13 Oct 2024 02:28:49 -0700
From: Stefan Kangas <stefankangas@HIDDEN>
MIME-Version: 1.0
Date: Sun, 13 Oct 2024 02:28:49 -0700
Message-ID: <CADwFkmnbyJOYqz2bsRvwZ_adSTOejqw=qYKrC1UJnubaid8eNw@HIDDEN>
Subject: 
To: control <at> debbugs.gnu.org
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 2.0 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  unarchive 41646 thanks 
 Content analysis details:   (2.0 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The
 query to Validity was blocked.  See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243
 for more information.
 [209.85.208.46 listed in bl.score.senderscore.com]
 0.0 RCVD_IN_VALIDITY_SAFE_BLOCKED RBL: ADMINISTRATOR NOTICE: The
 query to Validity was blocked.  See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243
 for more information.
 [209.85.208.46 listed in sa-accredit.habeas.com]
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [209.85.208.46 listed in list.dnswl.org]
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (stefankangas[at]gmail.com)
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -0.0 RCVD_IN_MSPIKE_H2      RBL: Average reputation (+2)
 [209.85.208.46 listed in wl.mailspike.net]
 2.0 BLANK_SUBJECT          Subject is present but empty
 0.0 UNPARSEABLE_RELAY      Informational: message has unparseable relay
 lines
X-Debbugs-Envelope-To: control
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 (+)

unarchive 41646
thanks




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Stefan Kangas <stefankangas@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 13 Oct 2024 09:53:02 +0000
Resent-Message-ID: <handler.41646.B41646.172881312328664 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>, Eli Zaretskii <eliz@HIDDEN>
Cc: Andrea Corallo <acorallo@HIDDEN>, 41646 <at> debbugs.gnu.org, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.172881312328664
          (code B ref 41646); Sun, 13 Oct 2024 09:53:02 +0000
Received: (at 41646) by debbugs.gnu.org; 13 Oct 2024 09:52:03 +0000
Received: from localhost ([127.0.0.1]:50288 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1szvGd-0007SF-0r
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 05:52:03 -0400
Received: from mail-ed1-f52.google.com ([209.85.208.52]:55453)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <stefankangas@HIDDEN>) id 1szvGa-0007Rq-FX
 for 41646 <at> debbugs.gnu.org; Sun, 13 Oct 2024 05:52:01 -0400
Received: by mail-ed1-f52.google.com with SMTP id
 4fb4d7f45d1cf-5c42e7adbddso4348715a12.2
 for <41646 <at> debbugs.gnu.org>; Sun, 13 Oct 2024 02:51:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1728813044; x=1729417844; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:from:to:cc:subject:date
 :message-id:reply-to;
 bh=jm8HDX/8rVTHs0mUGfWHX5WXgXFWCcbvRaOjl4ME+3Q=;
 b=GgdRhr2jCqYbWHHOn96dhexGntPfAvOSGjI2FGHbGJ0UoJc0UFeiax1K0vckV9b2qx
 bKvkdzyDdr+kPAHlwWd3tl9wtCVcei25zNn3PZL+6/KHsC+by4Ioekss4Wq03T4Bz7hq
 HgQtPqevDUQsscMtNJU2p621d0LguSHYo5Un/kVZ5ceD0DLT+Ev29igJHaknecVdPge1
 bnw6zVKOsf8VwTr11aVXywvQT6qzn1cmCJIDNOrcDJMeOyRg2c38yPGmV3snqmRYKh+W
 bf25XqMNyy5Ut6K5kasmgpRC3LjO3g7h+FDzP8uAJE6z2foXNVGJ+wHSJNOCUBDXKTi+
 f9Ug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1728813044; x=1729417844;
 h=content-transfer-encoding:cc:to:subject:message-id:date
 :mime-version:references:in-reply-to:from:x-gm-message-state:from:to
 :cc:subject:date:message-id:reply-to;
 bh=jm8HDX/8rVTHs0mUGfWHX5WXgXFWCcbvRaOjl4ME+3Q=;
 b=V++5+++EzuJLLW2upPHvGFfPwMZcY/T8CscSFXZ7hdInbLqOj5kowph1hgQgSexIRr
 u6Dl+kC8lG7IkZOD0MumdtS7YCZ0y2TjFqViTNPUX/t1jBIA6YpArJhIeJ4J5tKWvd/u
 /fg2ayzsmBOPM1Zmnygl42O6iO4tbQt4S95fLeJJu+OniHnQ4y1zWWlugcDh4v/XR8Ky
 Sox89hP8fZ7CnYNPE7ryq4s07TK3HuKcnAD/PkqZZ97tmdhZK3vj0ikqbVPwTBW7etI5
 4xnGw/l9OvFNLyIV0rZC8tIgHJnrmA7/FV1bADqZ3LZuZKXyzX6efuzRnktAdUbYsMSe
 epow==
X-Forwarded-Encrypted: i=1;
 AJvYcCUuFoU++KfCMCVKLOyyMaTWB52KvvqZD1GHGJNtoKwk1y/yl8CtKVUheYU9a5HPusEKu/Wuzw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzCBG9gFdiM3nJmKKSOZbM2+qED2Klyrka18+NR48Hc+AsEl8pT
 KJvGXLGZn14NDCJNT4t4V381SE5kh4hayN+Ba6KD42Syr84RiznpLjLMLncYYsrfO5a/XI0ifju
 1F6wcY8/VQPKYQjh2Y6oge2P7wnU=
X-Google-Smtp-Source: AGHT+IEx6UEJ1gUzAxuEEwg0tWAgJtX1DPpp2dGNdIctDBFKAI0BRdADevPByF1dDty3/tljOgUVrcany445Z+l/7hs=
X-Received: by 2002:a05:6402:2811:b0:5c9:76f3:7d46 with SMTP id
 4fb4d7f45d1cf-5c976f38053mr392809a12.21.1728813043420; Sun, 13 Oct 2024
 02:50:43 -0700 (PDT)
Received: from 753933720722 named unknown by gmailapi.google.com with
 HTTPREST; Sun, 13 Oct 2024 09:50:42 +0000
From: Stefan Kangas <stefankangas@HIDDEN>
In-Reply-To: <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
MIME-Version: 1.0
Date: Sun, 13 Oct 2024 09:50:42 +0000
Message-ID: <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 (-)

[I have unarchived Bug#41646 so that this discussion is archived in the
bug tracker.]

Lin Sun <sunlin7.mail@HIDDEN> writes:

> On Sun, Oct 13, 2024 at 5:45=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrot=
e:
>> To summarize: my point is that I think we prefer extending existing
>> libraries instead of introducing new ones with partially-overlapping
>> functionalities.  I wonder what Stefan and Andrea (CC'ed) think about
>> this.
>
> Totally understand, and thanks for inviting Stefan and Andrea in the
> conversation, to let new participants know the context quickly, I had
> post a patch to speed up Emacs for the scenario that Emacs will very
> slow on startup with hundreds packages (>300)  installed, the keypoint
> is hundreds packages will add hundreds paths into the `load-path',
> then a simple `(require X)' may trigger hundreds searching according
> to the `load-path', so the patch build a map for feature --> filepath
> from the variable `load-history' and store to disk, after that loading
> the cache and get the filepath from the cache for requiring a feature
> will significantly speed up Emacs on startup or requiring heavy
> features even there were hundreds packages. I also give the examples
> based on Spacemacs, whose startup time can be reduced from 9.703 to
> 4.175 seconds (341packages) on a Windows system, with simply add two
> lines to enable the `loadhints' from patch: (require 'loadhints)
> (loadhints-init 'startup).

Thanks, it sounds like a useful feature.

I agree with Eli that it would be better if it was not implemented as a
separate library, but integrated into the existing functionality.  For
example, I see that you use `define-advice`.  We generally frown upon
using that in core, since we could adapt our code to make it work with
the new use case.

Here's a suggestion:

Since this is about speeding up load time during startup, how about
adding a new defvar that enables a cache for `require`, and then set
that to t during startup and nil after?  That would make the feature
work as expected without any user customization.  In general, this is
preferable, as this reduces the overall complexity of Emacs, both for
users and developers.

Why should this be MS-Windows specific, BTW?  Is slow startup time with
many packages much less of an issue on other operating systems?  Is disk
access somehow slower on MS-Windows?

> From 52f79eedb1944169b6c8ac4cfde101f59345d815 Mon Sep 17 00:00:00 2001
> From: Lin Sun <sunlin7@HIDDEN>
> Date: Sat, 19 Aug 2023 06:55:59 +0000
> Subject: [PATCH] * lisp/loadhints.el: new file to cache hints for `requir=
e'
>  function
>
> ---
>  lisp/loadhints.el | 114 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 114 insertions(+)
>  create mode 100644 lisp/loadhints.el
>
> diff --git a/lisp/loadhints.el b/lisp/loadhints.el
> new file mode 100644
> index 00000000000..9befd885f0b
> --- /dev/null
> +++ b/lisp/loadhints.el
> @@ -0,0 +1,114 @@
> +;;; loadhints.el --- Give hints for `require'  -*- lexical-binding:t -*-
> +
> +;; Copyright (C) 2023-2024 Free Software Foundation, Inc.
> +
> +;; Author: Lin Sun <sunlin7@HIDDEN>
> +;; Keywords: utility
> +
> +;; This file is part of GNU Emacs.
> +
> +;; GNU Emacs is free software: you can redistribute it and/or modify
> +;; it under the terms of the GNU General Public License as published by
> +;; the Free Software Foundation, either version 3 of the License, or
> +;; (at your option) any later version.
> +
> +;; GNU Emacs is distributed in the hope that it will be useful,
> +;; but WITHOUT ANY WARRANTY; without even the implied warranty of
> +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +;; GNU General Public License for more details.
> +
> +;; You should have received a copy of the GNU General Public License
> +;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
> +
> +;;; Commentary:
> +
> +;; loadhints will save the feature pathes to a cache file, and uses the
> +;; cache to speed up the `require' function, it will rapidly speed up th=
e
> +;; `require' function when hundreds directories in `load-path' (especial=
ly
> +;; for windows). Just call `(loadhints-init 'startup)' in emacs user ini=
t
> +;; file.
> +
> +;;; Code:
> +
> +(defcustom loadhints-type (if (eq system-type 'windows-nt) 'startup)
> +  "The loadhints-type behavior.
> +A nil value means to disable this feature.
> +`startup' means to work on startup.
> +`manual' means depending on user manually update the cache.
> +`aggressive' means update the cache at emacs quit."
> +  :type '(choice (const :tag "Disable" nil)
> +                 (const :tag "Startup" startup)
> +                 (const :tag "Manual" manual)
> +                 (const :tag "Aggressive" aggressive)))
> +
> +(defcustom loadhints-cache-file
> +  (expand-file-name "loadhints-cache" user-emacs-directory)
> +  "File to save the recent list into."
> +  :version "31.0"
> +  :type 'file
> +  :initialize 'custom-initialize-default
> +  :set (lambda (symbol value)
> +         (let ((oldvalue (symbol-value symbol)))
> +           (custom-set-default symbol value)
> +           (and loadhints-type
> +                (not (equal value oldvalue))
> +                (load oldvalue t)))))
> +
> +(defvar loadhints--cache nil)
> +(defvar loadhints--modified nil)
> +
> +;;;###autoload
> +(defun loadhints-refresh-maybe (&optional force async)
> +  "(Re)generate the loadhints cache file.
> +When call with prefix, will FORCE refresh the loadhints cache."
> +  (interactive "P")
> +  (when (and force (null loadhints-type))
> +    (user-error "Loadhints not avaliable for `loadhints-type' is nil"))
> +  (when (and loadhints-type
> +             (or force
> +                 loadhints--modified
> +                 (null (locate-file loadhints-cache-file '("/")
> +                                    (get-load-suffixes)))))
> +    (let ((res (make-hash-table :test 'equal))
> +          (filepath (concat loadhints-cache-file ".el")))
> +      (cl-loop for (path . rest) in load-history
> +               do (when-let ((x (cl-find 'provide rest
> +                                         :test (lambda (a b)
> +                                                 (and (consp b)
> +                                                      (eq a (car b))))))=
)
> +                    (puthash (cdr x) path res)))
> +      (with-temp-file filepath
> +        (insert (format "(setq loadhints--cache %S)" res)))
> +      (if async
> +          (async-byte-compile-file filepath)
> +        (byte-compile-file filepath)))))
> +
> +;;;###autoload
> +(defun loadhints-init (&optional type)
> +  "Setup the advice for `require' and load the cached hints."
> +  (when type
> +    (setopt loadhints-type type))
> +
> +  (when loadhints-type
> +    (define-advice require (:around (fn feature &optional filename noerr=
or))
> +      (when-let (((null filename))
> +                 ((null  (featurep feature)))
> +                 (loadhints--cache)
> +                 (path (gethash feature loadhints--cache)))
> +        (if (not (file-exists-p path))
> +            (setq loadhints--modified t)
> +          (setq filename path)))
> +      (funcall fn feature filename noerror))
> +
> +    (when-let ((filepath (locate-file loadhints-cache-file '("/")
> +                                      (get-load-suffixes))))
> +      (load filepath))
> +
> +    (cond ((eq loadhints-type 'startup)
> +           (add-hook 'after-init-hook #'(lambda ()
> +                                          (loadhints-refresh-maybe nil t=
))))
> +          ((eq loadhints-type 'aggressive)
> +           (add-hook 'kill-emacs-hook #'loadhints-refresh-maybe)))))
> +
> +(provide 'loadhints)
> +;;; loadhints.el ends here
> --
> 2.34.1




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 13 Oct 2024 10:47:02 +0000
Resent-Message-ID: <handler.41646.B41646.17288163837644 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Stefan Kangas <stefankangas@HIDDEN>
Cc: 41646 <at> debbugs.gnu.org, acorallo@HIDDEN, sunlin7.mail@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17288163837644
          (code B ref 41646); Sun, 13 Oct 2024 10:47:02 +0000
Received: (at 41646) by debbugs.gnu.org; 13 Oct 2024 10:46:23 +0000
Received: from localhost ([127.0.0.1]:50347 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1szw7D-0001zE-BE
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 06:46:23 -0400
Received: from eggs.gnu.org ([209.51.188.92]:53840)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1szw78-0001yt-B8
 for 41646 <at> debbugs.gnu.org; Sun, 13 Oct 2024 06:46:22 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1szw4f-0000ug-V8; Sun, 13 Oct 2024 06:43:46 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=YFiS8rGgAR53a+AlsHlmWlGEKFBqxUTivdCgPS+8pUI=; b=btnZjhb6PniK
 QrscV/dFAsaGGqM/TLSl4mDQO4cMY5ounvsfXO0CZMXI5fNWfp/hZAB7ibLD3EAXtyue2rq3kuqwA
 Ih2Hb6lRMX6+wDAJBaKCRZMi7UiXuy4U5h6F+Unw0MN3Fql0XU05frVEr+VL3WbfpukEUqDtDHjSV
 EELTgfgdSU+/2dsI44mZwE3UoLB0eW1C1aZcbedySzlHu2p0L5by86qsQ5tNZbupQRxclyw/IjCZc
 rGa8PnAr4hmlJxErx64xPhtwuidCOzB0dNR942u3fibSDpLajvU+BBZQnXaXAuuZob70TbyaekBpx
 LuXkP9hAZ+1p9bxHX/LubQ==;
Date: Sun, 13 Oct 2024 13:43:42 +0300
Message-Id: <86set0th9d.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 (message from Stefan Kangas on Sun, 13 Oct 2024 09:50:42 +0000)
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Stefan Kangas <stefankangas@HIDDEN>
> Date: Sun, 13 Oct 2024 09:50:42 +0000
> Cc: Andrea Corallo <acorallo@HIDDEN>, 41646 <at> debbugs.gnu.org, 
> 	Stefan Monnier <monnier@HIDDEN>
> 
> Why should this be MS-Windows specific, BTW?  Is slow startup time with
> many packages much less of an issue on other operating systems?  Is disk
> access somehow slower on MS-Windows?

I don't think this is Windows-specific, it's just that on Windows the
gains might be higher.  Disk access is somewhat slower on Windows,
yes.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 13 Oct 2024 14:50:02 +0000
Resent-Message-ID: <handler.41646.B41646.172883095627233 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, Stefan Kangas <stefankangas@HIDDEN>, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.172883095627233
          (code B ref 41646); Sun, 13 Oct 2024 14:50:02 +0000
Received: (at 41646) by debbugs.gnu.org; 13 Oct 2024 14:49:16 +0000
Received: from localhost ([127.0.0.1]:52039 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1szzuG-00075B-8t
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 10:49:16 -0400
Received: from mail-ed1-f44.google.com ([209.85.208.44]:59480)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1szzuE-000753-Ay
 for 41646 <at> debbugs.gnu.org; Sun, 13 Oct 2024 10:49:14 -0400
Received: by mail-ed1-f44.google.com with SMTP id
 4fb4d7f45d1cf-5c96b2a10e1so1293248a12.2
 for <41646 <at> debbugs.gnu.org>; Sun, 13 Oct 2024 07:48:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1728830878; x=1729435678; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=3mhtb1qRw3TLGoofS+39wm3+FGvsGnj4xSkSy0RJK+0=;
 b=hWGxDxMEIBdxev21mqkR+/uYLItVfvY2i4or8bMpEwMZm23yEVZT0k6H1QROFYG2wD
 2AY5eroHyOtLNthBwHZu3ndHch4VzFpGifN/a2HXxgTUNHkR6Qt2nTeEEMg705oDSJR3
 ZWxccXPME4VNa9V7p47lTvaLj9IbuE/igvV1gkOOK4HGChU+vID1I0NTCLMrkezgkfPD
 rvfzRotLvVJBzSChpIyLe1H0ShMjY7YfsG7zetjIBmgU2Y9J/h2FB/7KnnRNSBQBXqai
 vvcxlolMOe6lX4lhNjHlnxvbUsneMsdeYgxzcmKMsSusVML7kPfjv2zdxn3Ccc7A5aBA
 8iJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1728830878; x=1729435678;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=3mhtb1qRw3TLGoofS+39wm3+FGvsGnj4xSkSy0RJK+0=;
 b=nkWRYr+xeQYSiDIwYGtGXjh3dYBYjJFSgXNqCbSIwGm+z+jRBX/I/rCAmtrC+DPDxG
 Z7EJ1gfZu0qDLwZBiJTiO3xuU/N8a8S3z/bjcnca1718EvyE3h4NxdiuopmyCpM1G608
 oJTpGHZHhaHU9Yi14v7BQDh8lvInHOFlEmSFySDmst2BGxi0+Elwhq046fqf8ugQ4rMk
 byVQKNenw6kUD/SlxwkUfhxWUSHUakZpSSofwqWYI4idzxEwh5sSZsUALpGSw842FeZ9
 2aaEPXcU2/Vs+Y4c5FJwscI/gFBhdqijxdahdvss6uF+ha4HM3A/+ibiFWlaaPMtt9jz
 etLw==
X-Forwarded-Encrypted: i=1;
 AJvYcCWuACxtQOurRGYxdncUDt8U7M0lhlIXP7iljBl9gEceuzrvnQspPX/wM6WVtTWAOrtx2SMqiw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzOcX2n1o7ruP0f71iao9nx1Bd618W4RT63Zj/oA2MByEkA5lCL
 xCqpBYP/zajtM3LdjHtZfBh+Asa4OraBtxbA3vkG9VKZyofKGxbMmXOLN5XHm88zTJYl0PH7ftf
 0Gn5Tv1c+Bcpej6P2wwL+4zO4njM=
X-Google-Smtp-Source: AGHT+IFDKNYRAKmRxeI2Vzn3H4wztOrO+bbE2C1w5LdCQHzPyMxLIePVRFtNDXNv4y9b8KNffkwXvfXEKHab/x2hcTw=
X-Received: by 2002:a50:85c6:0:b0:5c8:8208:2929 with SMTP id
 4fb4d7f45d1cf-5c948cb8be0mr5739140a12.20.1728830877427; Sun, 13 Oct 2024
 07:47:57 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
In-Reply-To: <86set0th9d.fsf@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Sun, 13 Oct 2024 14:47:46 +0000
Message-ID: <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 (-)

On Sun, Oct 13, 2024 at 10:43=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote=
:
>
> > From: Stefan Kangas <stefankangas@HIDDEN>
> > Date: Sun, 13 Oct 2024 09:50:42 +0000
> > Cc: Andrea Corallo <acorallo@HIDDEN>, 41646 <at> debbugs.gnu.org,
> >       Stefan Monnier <monnier@HIDDEN>
> >
> > Why should this be MS-Windows specific, BTW?  Is slow startup time with
> > many packages much less of an issue on other operating systems?  Is dis=
k
> > access somehow slower on MS-Windows?
>
> I don't think this is Windows-specific, it's just that on Windows the
> gains might be higher.  Disk access is somewhat slower on Windows,
> yes.

Thanks, and append the result on Ubuntu: from 2.132 to 1.573seconds
(383 packages).


On Sun, Oct 13, 2024 at 9:50=E2=80=AFAM Stefan Kangas <stefankangas@HIDDEN=
om> wrote:
>
> Here's a suggestion:
>
> Since this is about speeding up load time during startup, how about
> adding a new defvar that enables a cache for `require`, and then set
> that to t during startup and nil after?  That would make the feature
> work as expected without any user customization.  In general, this is
> preferable, as this reduces the overall complexity of Emacs, both for
> users and developers.

The "loadhints-cache" is not only for startup, actually it also works
anytime when requiring a feature but the `exec-path' has hundreds of
entries.

Agree, using the "loadhints-cache" in the `require' function native
code will be better than defeine-advice, I'm implementing it now, and
will post a patch later.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 13 Oct 2024 15:25:02 +0000
Resent-Message-ID: <handler.41646.B41646.17288330782298 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17288330782298
          (code B ref 41646); Sun, 13 Oct 2024 15:25:02 +0000
Received: (at 41646) by debbugs.gnu.org; 13 Oct 2024 15:24:38 +0000
Received: from localhost ([127.0.0.1]:52097 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t00ST-0000b0-US
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 11:24:38 -0400
Received: from eggs.gnu.org ([209.51.188.92]:37360)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1t00SS-0000al-EX
 for 41646 <at> debbugs.gnu.org; Sun, 13 Oct 2024 11:24:36 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1t00S5-0008AN-I3; Sun, 13 Oct 2024 11:24:14 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=uLWx4KPGXmrPWhaBVlF5yBEEHW48ien6ta896iNkz1U=; b=N0ynIlIRtVCvV/Q8Ejoe
 Brg550W/DwuEWQ5aFRLwzsp9x2CrkjwLwBlgNHSc7eShJ1pu82lNJYZeeFVZHglrW65pgIKV3hb6z
 7K5blt/52CH0fn/vTxHIQrREdaQJ2r6GtXxvWrRz99JtFz+GbzUSP2Z+ReUga8+MJ4ET66P/882Y9
 iw/ql+qbzYjoEGlWcKhFYJGzsC1VRdBIHYUR1cCaTPXbGTgEQ+zQDmZZnsaWPkMMFNrt0CEjAbQ5n
 u19TrWLav1tFjqKTz3E9+iUdCv+Bod67jjrKYBc2R7iUqw+LwkJQkUVx5UgRETRSy4MDrkhkBVRtr
 6QeZwUA95kbWKw==;
Date: Sun, 13 Oct 2024 18:24:11 +0300
Message-Id: <86iktwt49w.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 (message from Lin Sun on Sun, 13 Oct 2024 14:47:46 +0000)
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Lin Sun <sunlin7.mail@HIDDEN>
> Date: Sun, 13 Oct 2024 14:47:46 +0000
> Cc: Stefan Kangas <stefankangas@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, 
> 	monnier@HIDDEN
> 
> On Sun, Oct 13, 2024 at 10:43 AM Eli Zaretskii <eliz@HIDDEN> wrote:
> >
> > > From: Stefan Kangas <stefankangas@HIDDEN>
> > > Date: Sun, 13 Oct 2024 09:50:42 +0000
> > > Cc: Andrea Corallo <acorallo@HIDDEN>, 41646 <at> debbugs.gnu.org,
> > >       Stefan Monnier <monnier@HIDDEN>
> > >
> > > Why should this be MS-Windows specific, BTW?  Is slow startup time with
> > > many packages much less of an issue on other operating systems?  Is disk
> > > access somehow slower on MS-Windows?
> >
> > I don't think this is Windows-specific, it's just that on Windows the
> > gains might be higher.  Disk access is somewhat slower on Windows,
> > yes.
> 
> Thanks, and append the result on Ubuntu: from 2.132 to 1.573seconds
> (383 packages).
> 
> 
> On Sun, Oct 13, 2024 at 9:50 AM Stefan Kangas <stefankangas@HIDDEN> wrote:
> >
> > Here's a suggestion:
> >
> > Since this is about speeding up load time during startup, how about
> > adding a new defvar that enables a cache for `require`, and then set
> > that to t during startup and nil after?  That would make the feature
> > work as expected without any user customization.  In general, this is
> > preferable, as this reduces the overall complexity of Emacs, both for
> > users and developers.
> 
> The "loadhints-cache" is not only for startup, actually it also works
> anytime when requiring a feature but the `exec-path' has hundreds of
> entries.

Is it possible to extend filecache.el to cover this use case as well?
For example, by adding to filecache.el the ability to save the cache,
and perhaps also the ability to collect the cached files by hooking
into 'load'?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 13 Oct 2024 15:46:02 +0000
Resent-Message-ID: <handler.41646.B41646.17288343166626 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17288343166626
          (code B ref 41646); Sun, 13 Oct 2024 15:46:02 +0000
Received: (at 41646) by debbugs.gnu.org; 13 Oct 2024 15:45:16 +0000
Received: from localhost ([127.0.0.1]:52136 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t00mR-0001io-PG
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 11:45:15 -0400
Received: from mail-ej1-f46.google.com ([209.85.218.46]:60457)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t00mO-0001iJ-4W
 for 41646 <at> debbugs.gnu.org; Sun, 13 Oct 2024 11:45:12 -0400
Received: by mail-ej1-f46.google.com with SMTP id
 a640c23a62f3a-a993302fa02so570676566b.0
 for <41646 <at> debbugs.gnu.org>; Sun, 13 Oct 2024 08:44:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1728834231; x=1729439031; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=ar/VlI6WdWzSOmhxb52fAVnOHKDSHnC59BW+DgPvDGM=;
 b=K9/iEjFt0Oof/Lc1bTnUdAi2XJq9GHRag5LuaVvnwO68z/0v5XQjE4nw47x4uOQSw4
 DImwLvDs79ql7+hq6qIGhQrjgLLME+wzTzERzfQPbP35yxFj+zvXStFu1i6GIhIkS2rd
 5ko8SMQCNEL0QZmjXYZNJT2secUDN0u6mgm4sVPEIi2lOjXb/yc0kuK45Q416Q5R2lPC
 GUKJhd9NItkTGCj+kM8Pjwdd1zUrjQXbxpJgwRpUIj6qPPH+01AR82PpKPsnQbQIdfEa
 VPSP86QKl1qdjTW2ur3cQ58fZyGiuKTKbLZ8qheWHtiKqH9SXPNYF/YMys2gZ07i+kan
 cxeg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1728834231; x=1729439031;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=ar/VlI6WdWzSOmhxb52fAVnOHKDSHnC59BW+DgPvDGM=;
 b=Ivvg7pk6fybghfB1bF10HTmyCaMEvGQkCltLNZAH4VvgNn1uZsY11hkrbKFOmLrXBq
 RRl8i4DAAP/LCnJdl9QovZx8ENLb+sE9hHfY7r27Z336IOzvPw16jf1HpV4dzwBWipx3
 epkUnJ74D9xyBMMUFNU2qHvhi6WdCMjlmWYyjScb5s4DB9YkKJ9nQHtS8Hesw0fPp9kN
 XAU61y4wAPvG23Jt741llQAXNUqco+gLgcGaiRzrzdkafuLa17BVtRkW4YARy2BOi13f
 CNEjIRhmy7BB8bw9fLns038DT9/m8YtRnfAITbngD8vzFyptbvWhcMgy6ZBi3UbgVfKW
 rt3Q==
X-Forwarded-Encrypted: i=1;
 AJvYcCUFB878EpGYXzJjeJxMZw5m3oEGg2VRp19BSFz8Quco0yVhRfE3wFuHk4qN8M/zRzzUMvKRIA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzaORe2E/uBssAlBQIZZiPE6wL0bnRQpcmyUySOtPiwKcoAp075
 fk7UiDGv27o7RU+tkduIW7OO1cbmvi1w55c5eb4q7uV0J9HHx2Auc1xa92UFJdSLEFv/bXy4d0W
 ENkAciZCTlcM4asrsHKUQUnSKn+k=
X-Google-Smtp-Source: AGHT+IGlt2y/hvJLk4bpkoa27eKUTu7tvKkvi1a1YNv/jbuvk+6TEYdEfI/ZI7vC98u8OJ9Y/RrsiTkpgmpK4P3Olk0=
X-Received: by 2002:a17:907:96aa:b0:a99:4261:e9f7 with SMTP id
 a640c23a62f3a-a99b940efe8mr684571166b.39.1728834230442; Sun, 13 Oct 2024
 08:43:50 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
In-Reply-To: <86iktwt49w.fsf@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Sun, 13 Oct 2024 15:43:39 +0000
Message-ID: <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 (-)

On Sun, Oct 13, 2024 at 3:24=E2=80=AFPM Eli Zaretskii <eliz@HIDDEN> wrote:
>
> Is it possible to extend filecache.el to cover this use case as well?
> For example, by adding to filecache.el the ability to save the cache,
> and perhaps also the ability to collect the cached files by hooking
> into 'load'?
It's doable but I'm not sure how to maintain the feature-->filepath
maps to cover both file system changes and user preferred exec-path
order, or if it could break the user experience?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 13 Oct 2024 15:52:02 +0000
Resent-Message-ID: <handler.41646.B41646.17288346918331 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Stefan Kangas <stefankangas@HIDDEN>
Cc: 41646 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN>, Andrea Corallo <acorallo@HIDDEN>, Lin Sun <sunlin7.mail@HIDDEN>, Stefan Monnier <monnier@HIDDEN>
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17288346918331
          (code B ref 41646); Sun, 13 Oct 2024 15:52:02 +0000
Received: (at 41646) by debbugs.gnu.org; 13 Oct 2024 15:51:31 +0000
Received: from localhost ([127.0.0.1]:52157 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t00sV-0002AJ-C4
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 11:51:31 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:11629)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1t00sT-0002A4-8A
 for 41646 <at> debbugs.gnu.org; Sun, 13 Oct 2024 11:51:30 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 2919F100055;
 Sun, 13 Oct 2024 11:51:07 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1728834666;
 bh=5IBiy1OdCHi6tgV8yQe5BfeBIAXN9DZhpOjrhAcpRAQ=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=aeM3vHmBN90SSzPx9S0Ss8AjW3MqdXjH2dVkrNnRQyW7fPJAEltyE8+PpDwK9m3F6
 Be/3sWBnoM809GlDwxusOfdXYSMF0jyascML6owlWfqBgkqpKnwG+jSNecJBiOAoSV
 aGtLoJbVSMeH2uUwM9p1wV37XPpj4Uq3oWu8adGbk7rjUWnsxUx5/eNhgpUhGmjkqQ
 U2TJRsXbnxBEgojW6z4wAYCAtvZBC0Tckt4IZu4ypE+NI7zErozt5Q2h5RP/mcSkjI
 yxm+BIO/rqg2HS0sqHcW6kS9CiPH6aTk/gbUBWQEpie7sTilUMAS7cAWTpi9nOuneX
 6nh8Fw0j1lHKQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 56A97100042;
 Sun, 13 Oct 2024 11:51:06 -0400 (EDT)
Received: from pastel (104-195-209-82.cpe.teksavvy.com [104.195.209.82])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 17E281205EF;
 Sun, 13 Oct 2024 11:51:06 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 (Stefan Kangas's message of "Sun, 13 Oct 2024 09:50:42 +0000")
Message-ID: <jwvv7xwf26k.fsf-monnier+emacs@HIDDEN>
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
Date: Sun, 13 Oct 2024 11:51:05 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.060 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> [I have unarchived Bug#41646 so that this discussion is archived in the
> bug tracker.]

[ Note: I haven't seen the earlier part of this discussion (but I did read the
  old bug#41646 thread).  ]

>> Totally understand, and thanks for inviting Stefan and Andrea in the
>> conversation, to let new participants know the context quickly, I had
>> post a patch to speed up Emacs for the scenario that Emacs will very
>> slow on startup with hundreds packages (>300)  installed, the keypoint
>> is hundreds packages will add hundreds paths into the `load-path',
>> then a simple `(require X)' may trigger hundreds searching according
>> to the `load-path',

Yup, that's a known problem which we've been not solving for
a long time.
The "latest" workaround is `package-quickstart`, which reduces some of
the associated pain.

If you're not using `package-quickstart` and are bothered by a slow
startup, then I'd recommend you go back and enable `package-quickstart`.

Similarly in the old bug#41646 thread, I see mentions of 40s startup
time, 8s of which are *not* spent in openp: 8s is still quite slow, so
it might be worth looking at what the startup file is doing and see if
we could do less at startup (e.g. load things more lazily).

Of course, the "long load-path" problem will still end up biting in
some cases.  Until now we've managed to make those cases rare enough
that we haven't had to actually solve it.

>> so the patch build a map for feature --> filepath from the variable
>> `load-history' and store to disk, after that loading

I don't think we want a cache that's stored on disk: it would take too
much effort to create it, load it, ensure it's not damaged if several
Emacs sessions try to write it at the same time, make sure it's fresh,
etc...

Especially since I believe that building the cache shouldn't take very
long: longer than a single "look for file F in `load-path`", maybe, but
not by much.

IOW we could keep a cache that's populated on-the-fly the first time we
`load` something, and that's then automatically refreshed when `load`
sees a new `load-path`.


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 13 Oct 2024 15:57:01 +0000
Resent-Message-ID: <handler.41646.B41646.17288350149336 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17288350149336
          (code B ref 41646); Sun, 13 Oct 2024 15:57:01 +0000
Received: (at 41646) by debbugs.gnu.org; 13 Oct 2024 15:56:54 +0000
Received: from localhost ([127.0.0.1]:52165 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t00xi-0002QW-53
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 11:56:54 -0400
Received: from eggs.gnu.org ([209.51.188.92]:37150)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1t00xf-0002QH-8c
 for 41646 <at> debbugs.gnu.org; Sun, 13 Oct 2024 11:56:52 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1t00xJ-00033v-IP; Sun, 13 Oct 2024 11:56:29 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=pt2qnbbVIa9s62VMAgAYOfXEyTq4SWNSx0jAf7bwMBE=; b=PEIjZEKIBKwCBpwVUG9U
 Uc4pv0hcNS/Tsza7VEfpogSmJ84obWaST/f3boPfMkcZuy1ySZJoIhuSKvgUZk2fjhl9kArKnoHL4
 YqG5jFKKub0fAhV+m/T3UWKjei8r6yLlCShiTcXbgUHBX4F2NQtb1OPcjcXxAf5MTxyAW3mZrC13W
 XgEIlTgI1HRj6ZwJ4EhSJBpnpbiSJpBwZ6Lrgn0abQUQJcGLdzjrd7n821ZWhPbikiQn/grbGJIfI
 8TOIuQhIa7YhTrBVK6nZpBg8XCVJpgL2juaC8VO+Q7loSEeo6infm0DjN2NdeL/4nHq+QMcaSCdeq
 bUeVZOmqfSFgog==;
Date: Sun, 13 Oct 2024 18:56:01 +0300
Message-Id: <86cyk4t2su.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 (message from Lin Sun on Sun, 13 Oct 2024 15:43:39 +0000)
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Lin Sun <sunlin7.mail@HIDDEN>
> Date: Sun, 13 Oct 2024 15:43:39 +0000
> Cc: stefankangas@HIDDEN, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, 
> 	monnier@HIDDEN
> 
> On Sun, Oct 13, 2024 at 3:24 PM Eli Zaretskii <eliz@HIDDEN> wrote:
> >
> > Is it possible to extend filecache.el to cover this use case as well?
> > For example, by adding to filecache.el the ability to save the cache,
> > and perhaps also the ability to collect the cached files by hooking
> > into 'load'?
> It's doable but I'm not sure how to maintain the feature-->filepath
> maps to cover both file system changes and user preferred exec-path
> order, or if it could break the user experience?

Sorry, I don't understand: what does exec-path have to do with this?
I thought this was about speeding up loading of Lisp files at startup?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 13 Oct 2024 16:05:01 +0000
Resent-Message-ID: <handler.41646.B41646.172883549210688 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.172883549210688
          (code B ref 41646); Sun, 13 Oct 2024 16:05:01 +0000
Received: (at 41646) by debbugs.gnu.org; 13 Oct 2024 16:04:52 +0000
Received: from localhost ([127.0.0.1]:52175 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t015P-0002mH-L4
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 12:04:52 -0400
Received: from mail-ed1-f47.google.com ([209.85.208.47]:55701)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t015N-0002m5-Pr
 for 41646 <at> debbugs.gnu.org; Sun, 13 Oct 2024 12:04:50 -0400
Received: by mail-ed1-f47.google.com with SMTP id
 4fb4d7f45d1cf-5c9693dc739so1445792a12.3
 for <41646 <at> debbugs.gnu.org>; Sun, 13 Oct 2024 09:04:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1728835408; x=1729440208; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=mroLqWv7Jz26HAojjZTbz25FbeE1ZRvYJBBqYMUM8yI=;
 b=B6goA6g4nesITQb3ogVoXAd74Ko9yDA5Cnrc+I5VLXYMP1CRMzrn9DZgbx6LPI5toF
 gV2m+aTzi+HX0I+qaGJenz2C4YcPNWSm8YzPq+Na9pXG9WCa4s+FIbj6BX+XE3sIW8Ix
 0L1ms6hBbIifYGkOTKFMABWHk3bUVMb6DfYtMw52Yd4WUtu3lJNRmv4gHt7sv/j3/KiP
 ksJuU0NDw/opvfZtKUNTLXS0VE+rUj8lU8pirQ+kyfwN21JzQ/MlXLi9PWrvecMAYKjk
 8xiqVI6msReGKjm5anUxrtWehOFa13ibRra6q+X8YbSbrEqMOdnjqY1PRL8FlW8dDKXL
 ps5A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1728835408; x=1729440208;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=mroLqWv7Jz26HAojjZTbz25FbeE1ZRvYJBBqYMUM8yI=;
 b=ElnRYXOa6U0Ss2gDsKLU6lFWd3ni+W1B4QGo0z7Dx4ke+wkJH0p6zRKI/yN/UElvU7
 ISFv3FvPU1FnX6WIAZGA1sjU+RXY3ZPOCBXMsMqnSgvMzHQTPG9NJi4LMssY1gH0pkzv
 fHJ9DB4y5rbz0O2sevBA9auoFHTbEWLZICDUfPhZON9nC7w33LslfPQ0e8oIqTbHV5fT
 LGf3JQpReyCsXIv6W5d9GBcCUYq6yXnsEW0qtbj5G/nuYXadFAhVk9hYTMiqDArK1n8i
 XLRKDKrXuNuijp/Z4desmetH8ea612mTcpVdbdyYWFLTwpAiVD6oCXhFXC2GG9pFP6l/
 tMlg==
X-Forwarded-Encrypted: i=1;
 AJvYcCUMzJpDC8gfr2b0T1+qE1XWchVLc9sABFy+gHPGaF20gA3cI0VhTNXFWyHMkt13CD43sk6w+g==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YxDO8E/Df3rRQyitYoTAgLUAWRp7BV7OOvo4pQxMoj7Tc+BgqdD
 +lTTHNp1I64zz/TAtDwiIlTzOakahwm0F3tMDLihXjssz+7XBxnaALTVOYvVWTHpQb0L6iotAMR
 7SgSU8/xmwATwpdSc6DXm3oVKwjqGbGpR
X-Google-Smtp-Source: AGHT+IFpNNvJme0zgmnBRicOY+ArOqn8X533KNgIyAhkLYDh9Bd8lF63d6uft0B4hR+SzzruM25S9AFIbXL4vobFY/0=
X-Received: by 2002:a50:cbcd:0:b0:5bf:1bd:adb3 with SMTP id
 4fb4d7f45d1cf-5c95ac0dbb9mr3824559a12.14.1728835408085; Sun, 13 Oct 2024
 09:03:28 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
In-Reply-To: <86cyk4t2su.fsf@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Sun, 13 Oct 2024 16:03:16 +0000
Message-ID: <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 (-)

On Sun, Oct 13, 2024 at 3:56=E2=80=AFPM Eli Zaretskii <eliz@HIDDEN> wrote:
>
> > From: Lin Sun <sunlin7.mail@HIDDEN>
> >
> > On Sun, Oct 13, 2024 at 3:24=E2=80=AFPM Eli Zaretskii <eliz@HIDDEN> wr=
ote:
> > >
> > > Is it possible to extend filecache.el to cover this use case as well?
> > > For example, by adding to filecache.el the ability to save the cache,
> > > and perhaps also the ability to collect the cached files by hooking
> > > into 'load'?
> > It's doable but I'm not sure how to maintain the feature-->filepath
> > maps to cover both file system changes and user preferred exec-path
> > order, or if it could break the user experience?
>
> Sorry, I don't understand: what does exec-path have to do with this?
> I thought this was about speeding up loading of Lisp files at startup?
Sorry I mean the `load-path' (not the exec-path), my typo. Thanks




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sun, 13 Oct 2024 16:40:01 +0000
Resent-Message-ID: <handler.41646.B41646.172883760017485 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.172883760017485
          (code B ref 41646); Sun, 13 Oct 2024 16:40:01 +0000
Received: (at 41646) by debbugs.gnu.org; 13 Oct 2024 16:40:00 +0000
Received: from localhost ([127.0.0.1]:52223 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t01dP-0004Xx-JP
	for submit <at> debbugs.gnu.org; Sun, 13 Oct 2024 12:39:59 -0400
Received: from eggs.gnu.org ([209.51.188.92]:33382)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1t01dK-0004Xi-UW
 for 41646 <at> debbugs.gnu.org; Sun, 13 Oct 2024 12:39:57 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1t01cy-0006tK-GO; Sun, 13 Oct 2024 12:39:33 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=e25Z2HhVtVdbIjAXeW+7V+EvQC3MLF2XTX4S0fBC6zI=; b=rbiOu3iFJ3dhG+76sMZI
 F8cYk3nSJDQsE5l/eZfhaFXjneu9uF2xZu560Rq/0TaLf4yI6509sMPEAXvPQ6ok6Jju5giPQ/7Fk
 8ZT9hGrcZnSMISS9haaAPQaYYsZNs+Sb9sDS2LTMfY8SwVI7JTZ3QFrtCKzrL0Mtwct/vlXMrDUTI
 JHoR/IiyUy6r1Eda59z/mD+OEfh+riJfy9fmvX5WezNd4ar12kDC3xvH6yXRgMZD4CJZqgGRIIzBL
 ztDlexKvW7lt74Cq35qj8KFzeoAkiZU5Q060qERC/JgUXqs8gcbBCRK9MtCZcspnjQihc4LO6r1EY
 R+Ypm00Lk14q3g==;
Date: Sun, 13 Oct 2024 19:39:28 +0300
Message-Id: <86a5f8t0sf.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 (message from Lin Sun on Sun, 13 Oct 2024 16:03:16 +0000)
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Lin Sun <sunlin7.mail@HIDDEN>
> Date: Sun, 13 Oct 2024 16:03:16 +0000
> Cc: stefankangas@HIDDEN, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, 
> 	monnier@HIDDEN
> 
> On Sun, Oct 13, 2024 at 3:56 PM Eli Zaretskii <eliz@HIDDEN> wrote:
> >
> > > From: Lin Sun <sunlin7.mail@HIDDEN>
> > >
> > > On Sun, Oct 13, 2024 at 3:24 PM Eli Zaretskii <eliz@HIDDEN> wrote:
> > > >
> > > > Is it possible to extend filecache.el to cover this use case as well?
> > > > For example, by adding to filecache.el the ability to save the cache,
> > > > and perhaps also the ability to collect the cached files by hooking
> > > > into 'load'?
> > > It's doable but I'm not sure how to maintain the feature-->filepath
> > > maps to cover both file system changes and user preferred exec-path
> > > order, or if it could break the user experience?
> >
> > Sorry, I don't understand: what does exec-path have to do with this?
> > I thought this was about speeding up loading of Lisp files at startup?
> Sorry I mean the `load-path' (not the exec-path), my typo. Thanks

OK, but please elaborate on the difficulty, because I don't think I
understand it.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Wed, 16 Oct 2024 07:54:01 +0000
Resent-Message-ID: <handler.41646.B41646.17290651877841 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17290651877841
          (code B ref 41646); Wed, 16 Oct 2024 07:54:01 +0000
Received: (at 41646) by debbugs.gnu.org; 16 Oct 2024 07:53:07 +0000
Received: from localhost ([127.0.0.1]:58374 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t0yqB-00022N-3s
	for submit <at> debbugs.gnu.org; Wed, 16 Oct 2024 03:53:07 -0400
Received: from mail-lj1-f173.google.com ([209.85.208.173]:45121)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t0yq9-00021s-47
 for 41646 <at> debbugs.gnu.org; Wed, 16 Oct 2024 03:53:06 -0400
Received: by mail-lj1-f173.google.com with SMTP id
 38308e7fff4ca-2fb561f273eso25916851fa.2
 for <41646 <at> debbugs.gnu.org>; Wed, 16 Oct 2024 00:52:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1729065100; x=1729669900; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=EMlS81p0PYbdJA6VY6lFZWqF7GFiHhL1qGSzmrSWx40=;
 b=L1cwVJj+kikZJAg/PbAKP+8OV8fOgcKOLg+vPZwHg67HJiZloAAjlTNZtVT/xFoICq
 3iotgUhZu0ZZIBR3MT3bWwa3ltDynEK3Odc2Js1SaacmpfBluIXsRXMktJqrye38MjOj
 jN3sTsR5ikIuAS0B/3YwL52aUWBp0ObzqT66HlPW3sgZUtYdRLd6F54CxmV0LcXiJ4yk
 7WcIS3DMT5GgzPojnNYLNtId5ni5kPiT32pzay9xDN9iDoY0uPmp9+ELUHdYtfd04mkX
 rBFJLE3Swq9/oBostPUxi8I828pq8psNzVhiRo04YZ2IX+lghaIIerC0rhktjtqnf/dT
 AMQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1729065100; x=1729669900;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=EMlS81p0PYbdJA6VY6lFZWqF7GFiHhL1qGSzmrSWx40=;
 b=ph77m+MCVUlUlb0etMREDmOWVYiw+lGv++YqGN3r8qNtXg5hCOgVy0YSvFd7hm9e++
 Fy9TEFw0aDfd8szS6wIsTVYXzUKs24xy8fXpF7A26yaplp1AU8uCEFac/EvjqFNLJtuz
 k+imuDJAWJwFG6vzGR20k09+dHnniMaatTuSXz3HW0wU093ppjSOjnT2vQ+VeZCV/Ncv
 itFrTy8ncm0MW4cxkO/7RXtdwNFNmKQdIwdUzt3pVxCzFQ/xrO/mZY28weRNHYo5KKN2
 DamPM6xWQXllZQkqa3ry5riN0KjVTzIqwL2/ZI7kLe6A6a0mJxyz+AcGHmto1gUON6m5
 tIwQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCW6cyFKk5sWvlXnZteMn3axJUtl+bqLt+E1FlrlYtY3LM6MmWtOWMZdV2hKLqePalFR9+J6fg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzyWs4+Fbo5yyWLKWQYlWd2fucLaneMEj72HlCnKId3jqCY1Pdk
 VRG/IW1tGAkOgRpCKfVmdqm71mY2rZ0qhE1MT6sGCjV3rB4OT0GH45UA0nahytUnS+BdMYJe+gB
 B//t3ljvtfwLG+oCJ4kLE+3IMJKpKnzup
X-Google-Smtp-Source: AGHT+IEwCYiDDDszqMCa7ATnOqq9M9czdx6ObwEZpMkXwMOAY9tHPq4gOlOPdsjNsU7iE/PjX1882DxcykPTDWytamQ=
X-Received: by 2002:a2e:719:0:b0:2f3:b71a:1e91 with SMTP id
 38308e7fff4ca-2fb32714935mr67023251fa.17.1729065099386; Wed, 16 Oct 2024
 00:51:39 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
In-Reply-To: <86a5f8t0sf.fsf@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Wed, 16 Oct 2024 07:51:28 +0000
Message-ID: <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
Content-Type: multipart/mixed; boundary="0000000000000b7f7d06249357eb"
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 (-)

--0000000000000b7f7d06249357eb
Content-Type: text/plain; charset="UTF-8"

Hi Eli,

I wrote the code and tested it, the patch file attached.
In the patch, a new "load-hints" is introduced with a default value nil.
When its value is nil, everything works as before.
When its value is set as a list of hints, the openp function calling
count is reduced a lot.
I had an example for require "org", the "load-hints" can reduce the
access attempts from 123 to 6, here is the test command lines, strace
the emacs in batch mode, a single (require 'org) trigger more than
100+ open attempts; with correct load-hints, the count reduce to 6.
> strace src/emacs -batch -eval "(require 'org)" 2>&1| grep 'open.*/org\.' | wc -l
>    123
> strace src/emacs -batch -eval "(let ((load-hints '((\"org*\" \"~/tmp/emacs.debug/lisp/org/\"))))(require 'org))" 2>&1| grep 'open.*/org\.' | wc -l
>      6

And you had mentioned scan the load-path to build a full hints list,
it absolutely should work; I'm looking to change package.el to
generate the "<package>-autoloads.el" work with "load-hints",
currently the autoloads.el will add its folder into "load-path",
just change it to add its  path into "load-hints" should work, then we
do NOT need to provide a function to build the "load-hints" for the
packages installed by package.el won't bother the "load-path".

--0000000000000b7f7d06249357eb
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-New-variable-load-hints-to-speedup-searching-file-fo.patch"
Content-Disposition: attachment; 
	filename="0001-New-variable-load-hints-to-speedup-searching-file-fo.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m2bkcwzg0>
X-Attachment-Id: f_m2bkcwzg0

RnJvbSBmMTk0ZDY5NDQ1YzFlZjBlMDhkYjI5YjA3NTcwZWUzZWQ3YjJlZDYyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW4gU3VuIDxzdW5saW43QGhvdG1haWwuY29tPgpEYXRlOiBX
ZWQsIDE2IE9jdCAyMDI0IDA3OjMxOjU5ICswMDAwClN1YmplY3Q6IFtQQVRDSF0gTmV3IHZhcmlh
YmxlIGxvYWQtaGludHMgdG8gc3BlZWR1cCBzZWFyY2hpbmcgZmlsZSBmb3IgKGxvYWQpCiBmdW5j
dGlvbgoKKiBsaXNwL3N1YnIuZWw6IChsb2NhdGUtbGlicmFyeSkgc3VwcG9ydCB0aGUgYGxvYWQt
aGludHMnIHZhcmlhYmxlCiogc3JjL2xyZWFkLmM6IChsb2FkKSBmdW5jdGlvbiBzdXBwb3J0IHRo
ZSBgbG9hZC1oaW50cycgdmFyaWFibGUKLS0tCiBsaXNwL3N1YnIuZWwgfCAgOSArKy0tLQogc3Jj
L2xyZWFkLmMgIHwgOTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
LS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL3N1YnIuZWwgYi9saXNwL3N1YnIuZWwKaW5kZXggMmVh
ZWQ2ODI0MDYuLjNkOTU5OTI3MGVkIDEwMDY0NAotLS0gYS9saXNwL3N1YnIuZWwKKysrIGIvbGlz
cC9zdWJyLmVsCkBAIC0zMTQxLDEwICszMTQxLDExIEBAIGxvY2F0ZS1saWJyYXJ5CiBzdHJpbmcu
ICBXaGVuIHJ1biBpbnRlcmFjdGl2ZWx5LCB0aGUgYXJndW1lbnQgSU5URVJBQ1RJVkUtQ0FMTCBp
cyB0LAogYW5kIHRoZSBmaWxlIG5hbWUgaXMgZGlzcGxheWVkIGluIHRoZSBlY2hvIGFyZWEuIgog
ICAoaW50ZXJhY3RpdmUgKGxpc3QgKHJlYWQtbGlicmFyeS1uYW1lKSBuaWwgbmlsIHQpKQotICAo
bGV0ICgoZmlsZSAobG9jYXRlLWZpbGUgbGlicmFyeQotCQkJICAgKG9yIHBhdGggbG9hZC1wYXRo
KQotCQkJICAgKGFwcGVuZCAodW5sZXNzIG5vc3VmZml4IChnZXQtbG9hZC1zdWZmaXhlcykpCi0J
CQkJICAgbG9hZC1maWxlLXJlcC1zdWZmaXhlcykpKSkKKyAgKGxldCAoKGZpbGUgKGxvY2F0ZS1m
aWxlLWludGVybmFsCisgICAgICAgICAgICAgICBsaWJyYXJ5IChvciBwYXRoIGxvYWQtcGF0aCkK
KyAgICAgICAgICAgICAgIChhcHBlbmQgKHVubGVzcyBub3N1ZmZpeCAoZ2V0LWxvYWQtc3VmZml4
ZXMpKQorICAgICAgICAgICAgICAgICAgICAgICBsb2FkLWZpbGUtcmVwLXN1ZmZpeGVzKQorICAg
ICAgICAgICAgICAgbmlsICh1bmxlc3MgcGF0aCBsb2FkLWhpbnRzKSkpKQogICAgIChpZiBpbnRl
cmFjdGl2ZS1jYWxsCiAJKGlmIGZpbGUKIAkgICAgKG1lc3NhZ2UgIkxpYnJhcnkgaXMgZmlsZSAl
cyIgKGFiYnJldmlhdGUtZmlsZS1uYW1lIGZpbGUpKQpkaWZmIC0tZ2l0IGEvc3JjL2xyZWFkLmMg
Yi9zcmMvbHJlYWQuYwppbmRleCA5NWM2ODkxYzIwNS4uNmRlMWM1YmU1ZWIgMTAwNjQ0Ci0tLSBh
L3NyYy9scmVhZC5jCisrKyBiL3NyYy9scmVhZC5jCkBAIC0xMjcxLDYgKzEyNzEsNTMgQEAgY2xv
c2VfZmlsZV91bndpbmRfYW5kcm9pZF9mZCAodm9pZCAqcHRyKQogCiAjZW5kaWYKIAorc3RhdGlj
IGJvb2wKK2NvbXBsZXRlX2ZpbGVuYW1lX3AgKExpc3BfT2JqZWN0IHBhdGhuYW1lKQoreworICBj
b25zdCB1bnNpZ25lZCBjaGFyICpzID0gU0RBVEEgKHBhdGhuYW1lKTsKKyAgcmV0dXJuIChJU19E
SVJFQ1RPUllfU0VQIChzWzBdKQorCSAgfHwgKFNDSEFSUyAocGF0aG5hbWUpID4gMiAmJiBJU19E
RVZJQ0VfU0VQIChzWzFdKQorCSAgICAgICYmIElTX0RJUkVDVE9SWV9TRVAgKHNbMl0pKSk7Cit9
CisKKy8qIHNlYXJjaCB0aGUgZmlsZSBpbiBsb2FkIGhpbnRzIHRvIGdldCBhIHBhdGggbGlzdCAq
Lworc3RhdGljIExpc3BfT2JqZWN0CitzZWFyY2hfbG9hZF9oaW50cyhMaXNwX09iamVjdCBsb2Fk
X2hpbnRzLCBMaXNwX09iamVjdCBmaWxlKSB7CisgIExpc3BfT2JqZWN0IGxvYWRfcGF0aCA9IFFu
aWw7CisgIExpc3BfT2JqZWN0IHRhaWwgPSBsb2FkX2hpbnRzOworICBGT1JfRUFDSF9UQUlMX1NB
RkUgKHRhaWwpCisgICAgeworICAgICAgYm9vbCBmdWxsbWF0Y2ggPSBmYWxzZTsKKyAgICAgIHB0
cmRpZmZfdCBsZW4gPSAtMTsKKyAgICAgIExpc3BfT2JqZWN0IHJvdyA9IFhDQVIgKHRhaWwpOwor
ICAgICAgTGlzcF9PYmplY3Qga2V5ID0gWENBUiAocm93KTsKKyAgICAgIENIRUNLX1NUUklORyAo
a2V5KTsKKworICAgICAgaWYgKFNCWVRFUyAoa2V5KSAtIDEgPD0gU0JZVEVTIChmaWxlKSkKKwl7
CisJICBpZiAoU0JZVEVTIChrZXkpID49IDEKKwkgICAgICAmJiBTREFUQSAoa2V5KVtTQllURVMg
KGtleSkgLSAxXSA9PSAnKicpCisJICAgIGxlbiA9IFNCWVRFUyAoa2V5KSAtIDE7IC8qICJmaWxl
LSoiIGZvcm1hdCAqLworCSAgZWxzZSBpZiAoU0JZVEVTIChrZXkpID09IFNCWVRFUyAoZmlsZSkp
CisJICAgIHsKKwkgICAgICBsZW4gPSBTQllURVMgKGtleSk7CisJICAgICAgZnVsbG1hdGNoID0g
dHJ1ZTsKKwkgICAgfQorCX0KKworICAgICAgaWYgKGxlbiA+PSAwICYmIDAgPT0gbWVtY21wIChT
REFUQSAoa2V5KSwgU0RBVEEgKGZpbGUpLCBsZW4pKQorCXsKKwkgIGlmIChmdWxsbWF0Y2gpCisJ
ICAgIHsKKwkgICAgICBsb2FkX3BhdGggPSBDQUxMTiAoRmFwcGVuZCwgWENEUiAocm93KSk7CisJ
ICAgICAgYnJlYWs7CisJICAgIH0KKwkgIGxvYWRfcGF0aCA9IENBTExOIChGYXBwZW5kLCBsb2Fk
X3BhdGgsIFhDRFIgKHJvdykpOworCX0KKyAgICB9CisgIHJldHVybiBsb2FkX3BhdGg7Cit9CisK
IERFRlVOICgibG9hZCIsIEZsb2FkLCBTbG9hZCwgMSwgNSwgMCwKICAgICAgICBkb2M6IC8qIEV4
ZWN1dGUgYSBmaWxlIG9mIExpc3AgY29kZSBuYW1lZCBGSUxFLgogRmlyc3QgdHJ5IEZJTEUgd2l0
aCBgLmVsYycgYXBwZW5kZWQsIHRoZW4gdHJ5IHdpdGggYC5lbCcsIHRoZW4gdHJ5CkBAIC0xMjc4
LDcgKzEzMjUsOSBAQCBERUZVTiAoImxvYWQiLCBGbG9hZCwgU2xvYWQsIDEsIDUsIDAsCiB0aGVu
IHRyeSBGSUxFIHVubW9kaWZpZWQgKHRoZSBleGFjdCBzdWZmaXhlcyBpbiB0aGUgZXhhY3Qgb3Jk
ZXIgYXJlCiBkZXRlcm1pbmVkIGJ5IGBsb2FkLXN1ZmZpeGVzJykuICBFbnZpcm9ubWVudCB2YXJp
YWJsZSByZWZlcmVuY2VzIGluCiBGSUxFIGFyZSByZXBsYWNlZCB3aXRoIHRoZWlyIHZhbHVlcyBi
eSBjYWxsaW5nIGBzdWJzdGl0dXRlLWluLWZpbGUtbmFtZScuCi1UaGlzIGZ1bmN0aW9uIHNlYXJj
aGVzIHRoZSBkaXJlY3RvcmllcyBpbiBgbG9hZC1wYXRoJy4KK1RoaXMgZnVuY3Rpb24gc2VhcmNo
ZXMgdGhlIGVudHJ5IGluIGBsb2FkLWhpbnRzYCBmaXJzdCwgaWYgc29tZSBlbnRyaWVzCittYXRj
aGVkLCBzZWFyY2hlcyBpbiB0aGUgbWF0Y2hlZCBwYXRoZXMuIE90aGVyd2lzZSwgc2VhcmNoZXMg
ZGlyZWN0b3JpZXMKK2luIGBsb2FkLXBhdGgnLgogCiBJZiBvcHRpb25hbCBzZWNvbmQgYXJnIE5P
RVJST1IgaXMgbm9uLW5pbCwKIHJlcG9ydCBubyBlcnJvciBpZiBGSUxFIGRvZXNuJ3QgZXhpc3Qu
CkBAIC0xMzI3LDcgKzEzNzYsNyBAQCBERUZVTiAoImxvYWQiLCBGbG9hZCwgU2xvYWQsIDEsIDUs
IDAsCiAjZW5kaWYKICAgc3BlY3BkbF9yZWYgZmRfaW5kZXggVU5JTklUOwogICBzcGVjcGRsX3Jl
ZiBjb3VudCA9IFNQRUNQRExfSU5ERVggKCk7Ci0gIExpc3BfT2JqZWN0IGZvdW5kLCBlZm91bmQs
IGhpc3RfZmlsZV9uYW1lOworICBMaXNwX09iamVjdCBmb3VuZCwgZWZvdW5kLCBoaXN0X2ZpbGVf
bmFtZSwgbG9hZF9wYXRoID0gUW5pbDsKICAgLyogVHJ1ZSBtZWFucyB3ZSBwcmludGVkIHRoZSAi
LmVsIGlzIG5ld2VyIiBtZXNzYWdlLiAgKi8KICAgYm9vbCBuZXdlciA9IDA7CiAgIC8qIFRydWUg
bWVhbnMgd2UgYXJlIGxvYWRpbmcgYSBjb21waWxlZCBmaWxlLiAgKi8KQEAgLTE0MDksMTIgKzE0
NTgsMTggQEAgREVGVU4gKCJsb2FkIiwgRmxvYWQsIFNsb2FkLCAxLCA1LCAwLAogCSAgICBzdWZm
aXhlcyA9IENBTExOIChGYXBwZW5kLCBzdWZmaXhlcywgVmxvYWRfZmlsZV9yZXBfc3VmZml4ZXMp
OwogCX0KIAorICAgICAgaWYgKCFjb21wbGV0ZV9maWxlbmFtZV9wIChmaWxlKSkKKwlsb2FkX3Bh
dGggPSBzZWFyY2hfbG9hZF9oaW50cyhWbG9hZF9oaW50cywgZmlsZSk7CisKKyAgICAgIGlmIChO
SUxQIChsb2FkX3BhdGgpKQorCWxvYWRfcGF0aCA9IFZsb2FkX3BhdGg7CisKICNpZiAhZGVmaW5l
ZCBVU0VfQU5EUk9JRF9BU1NFVFMKLSAgICAgIGZkID0gb3BlbnAgKFZsb2FkX3BhdGgsIGZpbGUs
IHN1ZmZpeGVzLCAmZm91bmQsIFFuaWwsCisgICAgICBmZCA9IG9wZW5wIChsb2FkX3BhdGgsIGZp
bGUsIHN1ZmZpeGVzLCAmZm91bmQsIFFuaWwsCiAJCSAgbG9hZF9wcmVmZXJfbmV3ZXIsIG5vX25h
dGl2ZSwgTlVMTCk7CiAjZWxzZQogICAgICAgYXNzZXQgPSBOVUxMOwotICAgICAgcmMgPSBvcGVu
cCAoVmxvYWRfcGF0aCwgZmlsZSwgc3VmZml4ZXMsICZmb3VuZCwgUW5pbCwKKyAgICAgIHJjID0g
b3BlbnAgKGxvYWRfcGF0aCwgZmlsZSwgc3VmZml4ZXMsICZmb3VuZCwgUW5pbCwKIAkJICBsb2Fk
X3ByZWZlcl9uZXdlciwgbm9fbmF0aXZlLCAmYXNzZXQpOwogICAgICAgZmQuZmQgPSByYzsKICAg
ICAgIGZkLmFzc2V0ID0gYXNzZXQ7CkBAIC0xNzgwLDE2ICsxODM1LDcgQEAgc2F2ZV9tYXRjaF9k
YXRhX2xvYWQgKExpc3BfT2JqZWN0IGZpbGUsIExpc3BfT2JqZWN0IG5vZXJyb3IsCiAgIHJldHVy
biB1bmJpbmRfdG8gKGNvdW50LCByZXN1bHQpOwogfQogDAotc3RhdGljIGJvb2wKLWNvbXBsZXRl
X2ZpbGVuYW1lX3AgKExpc3BfT2JqZWN0IHBhdGhuYW1lKQotewotICBjb25zdCB1bnNpZ25lZCBj
aGFyICpzID0gU0RBVEEgKHBhdGhuYW1lKTsKLSAgcmV0dXJuIChJU19ESVJFQ1RPUllfU0VQIChz
WzBdKQotCSAgfHwgKFNDSEFSUyAocGF0aG5hbWUpID4gMgotCSAgICAgICYmIElTX0RFVklDRV9T
RVAgKHNbMV0pICYmIElTX0RJUkVDVE9SWV9TRVAgKHNbMl0pKSk7Ci19Ci0KLURFRlVOICgibG9j
YXRlLWZpbGUtaW50ZXJuYWwiLCBGbG9jYXRlX2ZpbGVfaW50ZXJuYWwsIFNsb2NhdGVfZmlsZV9p
bnRlcm5hbCwgMiwgNCwgMCwKK0RFRlVOICgibG9jYXRlLWZpbGUtaW50ZXJuYWwiLCBGbG9jYXRl
X2ZpbGVfaW50ZXJuYWwsIFNsb2NhdGVfZmlsZV9pbnRlcm5hbCwgMiwgNSwgMCwKICAgICAgICBk
b2M6IC8qIFNlYXJjaCBmb3IgRklMRU5BTUUgdGhyb3VnaCBQQVRILgogUmV0dXJucyB0aGUgZmls
ZSdzIG5hbWUgaW4gYWJzb2x1dGUgZm9ybSwgb3IgbmlsIGlmIG5vdCBmb3VuZC4KIElmIFNVRkZJ
WEVTIGlzIG5vbi1uaWwsIGl0IHNob3VsZCBiZSBhIGxpc3Qgb2Ygc3VmZml4ZXMgdG8gYXBwZW5k
IHRvCkBAIC0xNzk3LDEyICsxODQzLDE4IEBAIERFRlVOICgibG9jYXRlLWZpbGUtaW50ZXJuYWwi
LCBGbG9jYXRlX2ZpbGVfaW50ZXJuYWwsIFNsb2NhdGVfZmlsZV9pbnRlcm5hbCwgMiwKIElmIG5v
bi1uaWwsIFBSRURJQ0FURSBpcyB1c2VkIGluc3RlYWQgb2YgYGZpbGUtcmVhZGFibGUtcCcuCiBQ
UkVESUNBVEUgY2FuIGFsc28gYmUgYW4gaW50ZWdlciB0byBwYXNzIHRvIHRoZSBmYWNjZXNzYXQo
MikgZnVuY3Rpb24sCiBpbiB3aGljaCBjYXNlIGZpbGUtbmFtZS1oYW5kbGVycyBhcmUgaWdub3Jl
ZC4KK0xPQUQtSElOVFMgaXMgYSBsaXN0IHNhbWUgYXMgYGxvYWQtaGludHMnLgogVGhpcyBmdW5j
dGlvbiB3aWxsIG5vcm1hbGx5IHNraXAgZGlyZWN0b3JpZXMsIHNvIGlmIHlvdSB3YW50IGl0IHRv
IGZpbmQKIGRpcmVjdG9yaWVzLCBtYWtlIHN1cmUgdGhlIFBSRURJQ0FURSBmdW5jdGlvbiByZXR1
cm5zIGBkaXItb2snIGZvciB0aGVtLiAgKi8pCi0gIChMaXNwX09iamVjdCBmaWxlbmFtZSwgTGlz
cF9PYmplY3QgcGF0aCwgTGlzcF9PYmplY3Qgc3VmZml4ZXMsIExpc3BfT2JqZWN0IHByZWRpY2F0
ZSkKKyAgKExpc3BfT2JqZWN0IGZpbGVuYW1lLCBMaXNwX09iamVjdCBwYXRoLCBMaXNwX09iamVj
dCBzdWZmaXhlcywgTGlzcF9PYmplY3QgcHJlZGljYXRlLAorICAgTGlzcF9PYmplY3QgbG9hZF9o
aW50cykKIHsKLSAgTGlzcF9PYmplY3QgZmlsZTsKLSAgaW50IGZkID0gb3BlbnAgKHBhdGgsIGZp
bGVuYW1lLCBzdWZmaXhlcywgJmZpbGUsIHByZWRpY2F0ZSwgZmFsc2UsIHRydWUsCisgIExpc3Bf
T2JqZWN0IGZpbGUsIGRpcnMgPSBRbmlsOworICBpZiAoIU5JTFAobG9hZF9oaW50cykpCisgICAg
ZGlycyA9IHNlYXJjaF9sb2FkX2hpbnRzKGxvYWRfaGludHMsIGZpbGVuYW1lKTsKKyAgaWYgKE5J
TFAoZGlycykpCisgICAgZGlycyA9IHBhdGg7CisgIGludCBmZCA9IG9wZW5wIChkaXJzLCBmaWxl
bmFtZSwgc3VmZml4ZXMsICZmaWxlLCBwcmVkaWNhdGUsIGZhbHNlLCB0cnVlLAogCQkgIE5VTEwp
OwogICBpZiAoTklMUCAocHJlZGljYXRlKSAmJiBmZCA+PSAwKQogICAgIGVtYWNzX2Nsb3NlIChm
ZCk7CkBAIC01ODUxLDYgKzU5MDMsMTMgQEAgc3ltc19vZl9scmVhZCAodm9pZCkKIAkgICAgICAg
ZG9jOiAvKiBOb24tbmlsIG1lYW5zIHJlYWQgcmVjdXJzaXZlIHN0cnVjdHVyZXMgdXNpbmcgI049
IGFuZCAjTiMgc3ludGF4LiAgKi8pOwogICBWcmVhZF9jaXJjbGUgPSBRdDsKIAorICBERUZWQVJf
TElTUCAoImxvYWQtaGludHMiLCBWbG9hZF9oaW50cywKKwkgICAgICAgZG9jOiAvKiBBIGxpc3Qg
Zm9yIG5hbWUgdG8gZGlyZWN0b3J5LWxpc3QgdG8gc2VhcmNoIGZvciBmaWxlcwordG8gbG9hZCwg
YmVmb3JlIHRoZSBsb2FkLXBhdGguICBFYWNoZSBlbnRyeSBpcyBhIGZpbGUgbmFtZSB0byBkaXJl
Y3RvcnkgbGlzdCwKK2ZpbGUgbmFtZSBlbmRzIHdpdGggYSAnKicgbWVhbnMgcHJlZml4IG1hdGNo
aW5nLiBFeGFtcGxlOgorICAnKCgibmFtZTEtKiIgIi9wYXRoMSIgIi9wYXRoMiIpKS4gICovKTsK
KyAgVmxvYWRfaGludHMgPSBRbmlsOworCiAgIERFRlZBUl9MSVNQICgibG9hZC1wYXRoIiwgVmxv
YWRfcGF0aCwKIAkgICAgICAgZG9jOiAvKiBMaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBm
b3IgZmlsZXMgdG8gbG9hZC4KIEVhY2ggZWxlbWVudCBpcyBhIHN0cmluZyAoZGlyZWN0b3J5IGZp
bGUgbmFtZSkgb3IgbmlsIChtZWFuaW5nCi0tIAoyLjM0LjEKCg==
--0000000000000b7f7d06249357eb--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 21 Oct 2024 04:12:02 +0000
Resent-Message-ID: <handler.41646.B41646.17294838672141 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17294838672141
          (code B ref 41646); Mon, 21 Oct 2024 04:12:02 +0000
Received: (at 41646) by debbugs.gnu.org; 21 Oct 2024 04:11:07 +0000
Received: from localhost ([127.0.0.1]:49622 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t2jl4-0000YS-8a
	for submit <at> debbugs.gnu.org; Mon, 21 Oct 2024 00:11:07 -0400
Received: from mail-ed1-f48.google.com ([209.85.208.48]:58525)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t2jl1-0000YJ-F5
 for 41646 <at> debbugs.gnu.org; Mon, 21 Oct 2024 00:11:04 -0400
Received: by mail-ed1-f48.google.com with SMTP id
 4fb4d7f45d1cf-5c9150f9ed4so4884616a12.0
 for <41646 <at> debbugs.gnu.org>; Sun, 20 Oct 2024 21:10:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1729483776; x=1730088576; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=/NDc8cls3SaRk7A/u/ISL065eTXkg5FCW/uXk3RoYMQ=;
 b=K/fdhXnWNgVe8dLVppk68hbpCfbGDPiMOIOydCzEN2F69hDzpXwmN1zEt83FPWs4dX
 WhyjH5CL6ayGMUHQ3L/EnqKkDKMrySitp2un+YJlf1Ym4GEY1KQeAfr24soqEET2WK+E
 yYEYlL9YTNAMJNLxiOXnM8TaobfiOpwhwOz2yPou5JtAgfRyWZNy2Q/OprjJgbVdEHxD
 x6t8bN3uZiMg9k+B2u3YhrRzfFgUgnvO31o16wfe8zGrq30XTAqDRdBVcS4JLBJYIt7m
 h3ORkcltQ98e/ngWT6h+2+A/auerYKNaY0gcxmeADUMksX0TrJCDUlMl2UF6l9tTAUqI
 amuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1729483776; x=1730088576;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=/NDc8cls3SaRk7A/u/ISL065eTXkg5FCW/uXk3RoYMQ=;
 b=U5u63FwaMnaEAawCsIeNaRRnEtovGMozrG5c+H/raaoWiT0ECHwXc6aaYKsqyfOeLg
 Gp2bn5eGc5vLPbzyrWRP5RwClfrb+W+sILPDb7ngY1Yyr4difochA1EChfDsZeG4/a1p
 kuQRiJoYTUAF8xwZojKy17v7xOlt2fswcDWJshR8A2xtZZ7GNHcjkKy2cI6XYICUYPIq
 0iXaPaSManXswoyZrnK6qdLVVQODT9Qtr2RbizSTmHvhiovNjrBZC52GxrqzjRrYtYyy
 RhSHP5/8P7CrQYI0+9adoZLUQylW5XcG4+Thm55InbXZIswM3jmPOxXKzFf5nABPhH0/
 Oraw==
X-Forwarded-Encrypted: i=1;
 AJvYcCV3QMVbL3+DHsVJYs6QBHPhwW1bGx1ftw9riRujVuIzHMWoUDJpFXxbeqcjRPBDOUFr/VVy1A==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwaW244xQ5ExAQNebYJ65KM4YzQn2ERIqgaV+QzOzGhjPemW+Jc
 fR91eu0ie6bo6aUP5H33k8x4MiFgKvBFBi6mJbI25F7fNRsKh0BT5NV7v2wbGB5GpNAf4jjRhlN
 zPMtvX6m6M6uMhB3EQVJ3Lgu5bfo=
X-Google-Smtp-Source: AGHT+IF9w+5CT7MUQfVsCCx5LKCD9eAonWAJLbjPSHAPuQ3lxSGqPFTB+cWsqv1InU3M58WEACSbG73Eu/gg6N/cT0s=
X-Received: by 2002:a05:6402:d06:b0:5ca:ea4:874a with SMTP id
 4fb4d7f45d1cf-5ca0ea48884mr8100110a12.14.1729483776379; Sun, 20 Oct 2024
 21:09:36 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
In-Reply-To: <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Mon, 21 Oct 2024 04:09:25 +0000
Message-ID: <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
Content-Type: multipart/mixed; boundary="00000000000022e8370624f4d2a5"
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 (-)

--00000000000022e8370624f4d2a5
Content-Type: text/plain; charset="UTF-8"

Hi Eli,

I had patched the package.el also, and now the `load-hints` can boost
the emacs, especially for the emacs on windows.

The `load-hints` can reduce searching attempts by putting the matched
paths on the top of `load-path`, it won't break the original
load-path; and the patch for the `package.el` will put the installed
files into the `load-hints`.

I tested on both Ubuntu 20.04 and Windows 11, I tested the patches
with `load-hints` enabled/disabled, based on the Spacemacs
distribution, 276 packages installed, test cli is: emacs -nw --eval
"(require 'helm)",

1. On my local linux test env, disable load-hints on the package.el,
the test cli spends 6.327s; and enable load-hints then it spends
5.392s.

2. On my local Windows test env, disable load-hints on the package.el,
the test cli spends 11.769s, and enable load-hints then it spends
7.279s.

It's very effective for windows, without any break changes.

Please review the patches.  Thanks.

Best Regards, Lin

--00000000000022e8370624f4d2a5
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0002-lisp-emacs-lisp-package.el-Support-the-load-hints.patch"
Content-Disposition: attachment; 
	filename="0002-lisp-emacs-lisp-package.el-Support-the-load-hints.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m2ihyv1t0>
X-Attachment-Id: f_m2ihyv1t0

RnJvbSA5MjdiM2U3ZGMxMDk3Y2ZhNGNlOWY2ODFiNDQzOGY5ZDk5NDc2NzM5IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW4gU3VuIDxzdW5saW43QGhvdG1haWwuY29tPgpEYXRlOiBT
YXQsIDE5IE9jdCAyMDI0IDA2OjQzOjE1ICswMDAwClN1YmplY3Q6IFtQQVRDSCAyLzJdICogbGlz
cC9lbWFjcy1saXNwL3BhY2thZ2UuZWw6IFN1cHBvcnQgdGhlIGxvYWQtaGludHMKCi0tLQogbGlz
cC9lbWFjcy1saXNwL3BhY2thZ2UuZWwgfCA3OSArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9wYWNrYWdlLmVsIGIvbGlzcC9lbWFj
cy1saXNwL3BhY2thZ2UuZWwKaW5kZXggOTBkNjE1MGVkMGIuLjFjNGQ0N2I3MWYyIDEwMDY0NAot
LS0gYS9saXNwL2VtYWNzLWxpc3AvcGFja2FnZS5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvcGFj
a2FnZS5lbApAQCAtMjA4LDYgKzIwOCwyMiBAQCBwYWNrYWdlLWxvYWQtbGlzdAogICA6cmlza3kg
dAogICA6dmVyc2lvbiAiMjQuMSIpCiAKKyhkZWZjdXN0b20gcGFja2FnZS1lbmFibGUtbG9hZC1o
aW50cyB0CisgICJOb24tbmlsIG1lYW5zIGVuYWJsZSB0aGUgYGxvYWQtaGludHMnIGZvciB0aGUg
cGFja2FnZXMuCisKK1RoZSB2YWx1ZSBjYW4gYmUgb25lIG9mOgorCisgIHQgICAgICAgICAgICAg
QWRkIHBhY2thZ2UgZGlyIGludG8gYm90aCBgbG9hZC1oaW50cycgYW5kIGBsb2FkLXBhdGgnLgor
CisgIGBhZ2dyZXNzaXZlJyAgSWYgYWxsIGZpbGVzIGluIGEgcGFja2FnZSBkaXIgd2VyZSBjb3Zl
cmVkIGJ5IHRoZSBgbG9hZC1oaW50cycKKyAgICAgICAgICAgICAgICB0aGVuIHdpbGwgbm90IGFk
ZCB0aGUgcGFja2FnZSBkaXIgaW50byBgbG9hZC1wYXRoJy4KKworICBuaWwgICAgICAgICAgIERv
bid0IHVzZWQgdGhlIGBsb2FkLWhpbnRzJy4iCisgIDp0eXBlICcoY2hvaWNlIChjb25zdCA6dmFs
dWUgbmlsICAgICAgICAgICAgOnRhZyAiRGlzYWJsZSIpCisgICAgICAgICAgICAgICAgIChjb25z
dCA6dmFsdWUgdCAgICAgICAgICAgICAgOnRhZyAiRW5hYmxlKHNhZmUpIikKKyAgICAgICAgICAg
ICAgICAgKGNvbnN0IDp2YWx1ZSBhZ2dyZXNzaXZlICAgICA6dGFnICJFbmFibGUoYWdyZXNzaXZl
KSIpKQorICA6dmVyc2lvbiAiMzEuMSIpCisKIChkZWZjdXN0b20gcGFja2FnZS1hcmNoaXZlcyBg
KCgiZ251IiAuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLChmb3JtYXQgImh0dHAl
czovL2VscGEuZ251Lm9yZy9wYWNrYWdlcy8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKGlmIChnbnV0bHMtYXZhaWxhYmxlLXApICJzIiAiIikpKQpAQCAtMTA5NSwy
MSArMTExMSw1OCBAQCBwYWNrYWdlLWdlbmVyYXRlLWF1dG9sb2FkcwogICAgICAgICAgOzsgV2Ug
ZG9uJ3QgbmVlZCAnZW0sIGFuZCB0aGlzIG1ha2VzIHRoZSBvdXRwdXQgcmVwcm9kdWNpYmxlLgog
ICAgICAgICAgKGF1dG9sb2FkLXRpbWVzdGFtcHMgbmlsKQogICAgICAgICAgKGJhY2t1cC1pbmhp
Yml0ZWQgdCkKLSAgICAgICAgICh2ZXJzaW9uLWNvbnRyb2wgJ25ldmVyKSkKKyAgICAgICAgICh2
ZXJzaW9uLWNvbnRyb2wgJ25ldmVyKQorICAgICAgICAgaGludHMtbGlzdCBoaW50cy1jb3ZlcmVk
LWFsbCkKKyAgICA7OyBpZiBwYWNrYWdlLWVuYWJsZWQtbG9hZC1oaW50cyBpcyBub24tbmlsIHRo
ZW4gY29sbGVjdGluZyBsb2FkYWJsZQorICAgIDs7IGZpbGVzIGluIHBrZy1kaXIgYW5kIGdlbmVy
YXRpbmcgdGhlIGxvYWQtaGludHMgbGlzdC4KKyAgICAod2hlbi1sZXQqIChwYWNrYWdlLWVuYWJs
ZS1sb2FkLWhpbnRzCisgICAgICAgICAgICAgICAgKG5hbWUgKHN5bWJvbC1uYW1lIG5hbWUpKQor
ICAgICAgICAgICAgICAgIChmaWxlcyAoY2wtc2V0LWRpZmZlcmVuY2UgKGRpcmVjdG9yeS1maWxl
cyBwa2ctZGlyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygi
LiIgIi4uIikgOnRlc3QgIydzdHJpbmc9KSkKKyAgICAgICAgICAgICAgICA7OyBsaXN0IG9mIGZp
bGVzIGJhc2VuYW1lLCB0aGUgbG9hZC1zdWZmaXhlcyB3YXMgcmVtb3ZlZAorICAgICAgICAgICAg
ICAgIChiYXNlcworICAgICAgICAgICAgICAgICAocmVtb3ZlIG5pbAorICAgICAgICAgICAgICAg
ICAgICAgICAgIChtYXBjYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoZikK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2wtc29tZQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAobGFtYmRhIChzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChp
Zi1sZXQqICgobiAobGVuZ3RoIHMpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoKGxlbmd0aD4gZiBuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKChzdHJpbmc9IHMgKHN1YnN0cmluZyBmICgtIG4pKSkpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RyaW5nIGYgMCAoLSBuKSkpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoZ2V0LWxvYWQtc3VmZml4ZXMpKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmlsZXMpKSkpCisgICAgICAoc2V0cSBoaW50cy1jb3ZlcmVkLWFsbCAobGVu
Z3RoPSBiYXNlcyAobGVuZ3RoIGZpbGVzKSkKKyAgICAgICAgICAgIGhpbnRzLWxpc3QKKyAgICAg
ICAgICAgIChjbC1yZW1vdmUtZHVwbGljYXRlcworICAgICAgICAgICAgIChtYXBjYXIgKGxhbWJk
YSAocykKKyAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdCAiKGFkZC10by1saXN0ICdsb2Fk
LWhpbnRzICcoJVMgJVMpKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKHN0
cmluZy1wcmVmaXgtcCBuYW1lIHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChjb25jYXQgbmFtZSAiKiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZy1kaXIpKQorICAgICAgICAgICAgICAg
ICAgICAgYmFzZXMpCisgICAgICAgICAgICAgOnRlc3QgJ3N0cmluZz0pKSkKICAgICAobG9hZGRl
ZnMtZ2VuZXJhdGUKICAgICAgcGtnLWRpciBvdXRwdXQtZmlsZSBuaWwKLSAgICAgKHByaW4xLXRv
LXN0cmluZwotICAgICAgJyhhZGQtdG8tbGlzdAotICAgICAgICAnbG9hZC1wYXRoCi0gICAgICAg
IDs7IEFkZCB0aGUgZGlyZWN0b3J5IHRoYXQgd2lsbCBjb250YWluIHRoZSBhdXRvbG9hZCBmaWxl
IHRvCi0gICAgICAgIDs7IHRoZSBsb2FkIHBhdGguICBXZSBkb24ndCBoYXJkLWNvZGUgYHBrZy1k
aXInLCB0byBhdm9pZAotICAgICAgICA7OyBpc3N1ZXMgaWYgdGhlIHBhY2thZ2UgZGlyZWN0b3J5
IGlzIG1vdmVkIGFyb3VuZC4KLSAgICAgICAgOzsgYGxvYWRkZWZzLWdlbmVyYXRlJyBoYXMgY29k
ZSB0byBkbyB0aGlzIGZvciB1cywgYnV0IGl0J3MKLSAgICAgICAgOzsgbm90IGN1cnJlbnRseSBl
eHBvc2VkLiAgKEJ1ZyM2MzYyNSkKLSAgICAgICAgKG9yIChhbmQgbG9hZC1maWxlLW5hbWUKLSAg
ICAgICAgICAgICAgICAgKGRpcmVjdG9yeS1maWxlLW5hbWUKLSAgICAgICAgICAgICAgICAgIChm
aWxlLW5hbWUtZGlyZWN0b3J5IGxvYWQtZmlsZS1uYW1lKSkpCi0gICAgICAgICAgICAgKGNhciBs
b2FkLXBhdGgpKSkpKQorICAgICAoY29uY2F0CisgICAgICAod2hlbiBoaW50cy1saXN0CisgICAg
ICAgIChzdHJpbmctam9pbiBoaW50cy1saXN0ICJcbiIpKQorICAgICAgIlxuIgorICAgICAgKHVu
bGVzcyAoYW5kIGhpbnRzLWNvdmVyZWQtYWxsCisgICAgICAgICAgICAgICAgICAgKGVxIHBhY2th
Z2UtZW5hYmxlLWxvYWQtaGludHMgJ2FnZ3Jlc3NpdmUpKQorICAgICAgICAocHJpbjEtdG8tc3Ry
aW5nCisgICAgICAgICAnKGFkZC10by1saXN0CisgICAgICAgICAgICdsb2FkLXBhdGgKKyAgICAg
ICAgICAgOzsgQWRkIHRoZSBkaXJlY3RvcnkgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGF1dG9sb2Fk
IGZpbGUgdG8KKyAgICAgICAgICAgOzsgdGhlIGxvYWQgcGF0aC4gIFdlIGRvbid0IGhhcmQtY29k
ZSBgcGtnLWRpcicsIHRvIGF2b2lkCisgICAgICAgICAgIDs7IGlzc3VlcyBpZiB0aGUgcGFja2Fn
ZSBkaXJlY3RvcnkgaXMgbW92ZWQgYXJvdW5kLgorICAgICAgICAgICA7OyBgbG9hZGRlZnMtZ2Vu
ZXJhdGUnIGhhcyBjb2RlIHRvIGRvIHRoaXMgZm9yIHVzLCBidXQgaXQncworICAgICAgICAgICA7
OyBub3QgY3VycmVudGx5IGV4cG9zZWQuICAoQnVnIzYzNjI1KQorICAgICAgICAgICAob3IgKGFu
ZCBsb2FkLWZpbGUtbmFtZQorICAgICAgICAgICAgICAgICAgICAoZGlyZWN0b3J5LWZpbGUtbmFt
ZQorICAgICAgICAgICAgICAgICAgICAgKGZpbGUtbmFtZS1kaXJlY3RvcnkgbG9hZC1maWxlLW5h
bWUpKSkKKyAgICAgICAgICAgICAgIChjYXIgbG9hZC1wYXRoKSkpKSkpKQogICAgIChsZXQgKChi
dWYgKGZpbmQtYnVmZmVyLXZpc2l0aW5nIG91dHB1dC1maWxlKSkpCiAgICAgICAod2hlbiBidWYg
KGtpbGwtYnVmZmVyIGJ1ZikpKQogICAgIGF1dG8tbmFtZSkpCi0tIAoyLjM0LjEKCg==
--00000000000022e8370624f4d2a5
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-New-variable-load-hints-to-speedup-searching-file-fo.patch"
Content-Disposition: attachment; 
	filename="0001-New-variable-load-hints-to-speedup-searching-file-fo.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m2ihyv281>
X-Attachment-Id: f_m2ihyv281

RnJvbSBlZjdmZGI5NzJiYmRkNDk3NjlhZjY1NTFiNDM0YjE3ZWM2MmQwOTUxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW4gU3VuIDxzdW5saW43QGhvdG1haWwuY29tPgpEYXRlOiBX
ZWQsIDE2IE9jdCAyMDI0IDA3OjMxOjU5ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxLzJdIE5ldyB2
YXJpYWJsZSBsb2FkLWhpbnRzIHRvIHNwZWVkdXAgc2VhcmNoaW5nIGZpbGUgZm9yCiAobG9hZCkg
ZnVuY3Rpb24KCiogbGlzcC9zdWJyLmVsOiAobG9jYXRlLWxpYnJhcnkpIHN1cHBvcnQgdGhlIGBs
b2FkLWhpbnRzJyB2YXJpYWJsZQoqIHNyYy9scmVhZC5jOiAobG9hZCkgZnVuY3Rpb24gc3VwcG9y
dCB0aGUgYGxvYWQtaGludHMnIHZhcmlhYmxlCi0tLQogbGlzcC9zdWJyLmVsIHwgIDkgKystLS0K
IHNyYy9scmVhZC5jICB8IDk3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKy0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKSwgMjIgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9zdWJyLmVsIGIvbGlzcC9zdWJyLmVsCmluZGV4
IDJlYWVkNjgyNDA2Li4zZDk1OTkyNzBlZCAxMDA2NDQKLS0tIGEvbGlzcC9zdWJyLmVsCisrKyBi
L2xpc3Avc3Vici5lbApAQCAtMzE0MSwxMCArMzE0MSwxMSBAQCBsb2NhdGUtbGlicmFyeQogc3Ry
aW5nLiAgV2hlbiBydW4gaW50ZXJhY3RpdmVseSwgdGhlIGFyZ3VtZW50IElOVEVSQUNUSVZFLUNB
TEwgaXMgdCwKIGFuZCB0aGUgZmlsZSBuYW1lIGlzIGRpc3BsYXllZCBpbiB0aGUgZWNobyBhcmVh
LiIKICAgKGludGVyYWN0aXZlIChsaXN0IChyZWFkLWxpYnJhcnktbmFtZSkgbmlsIG5pbCB0KSkK
LSAgKGxldCAoKGZpbGUgKGxvY2F0ZS1maWxlIGxpYnJhcnkKLQkJCSAgIChvciBwYXRoIGxvYWQt
cGF0aCkKLQkJCSAgIChhcHBlbmQgKHVubGVzcyBub3N1ZmZpeCAoZ2V0LWxvYWQtc3VmZml4ZXMp
KQotCQkJCSAgIGxvYWQtZmlsZS1yZXAtc3VmZml4ZXMpKSkpCisgIChsZXQgKChmaWxlIChsb2Nh
dGUtZmlsZS1pbnRlcm5hbAorICAgICAgICAgICAgICAgbGlicmFyeSAob3IgcGF0aCBsb2FkLXBh
dGgpCisgICAgICAgICAgICAgICAoYXBwZW5kICh1bmxlc3Mgbm9zdWZmaXggKGdldC1sb2FkLXN1
ZmZpeGVzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgbG9hZC1maWxlLXJlcC1zdWZmaXhlcykK
KyAgICAgICAgICAgICAgIG5pbCAodW5sZXNzIHBhdGggbG9hZC1oaW50cykpKSkKICAgICAoaWYg
aW50ZXJhY3RpdmUtY2FsbAogCShpZiBmaWxlCiAJICAgIChtZXNzYWdlICJMaWJyYXJ5IGlzIGZp
bGUgJXMiIChhYmJyZXZpYXRlLWZpbGUtbmFtZSBmaWxlKSkKZGlmZiAtLWdpdCBhL3NyYy9scmVh
ZC5jIGIvc3JjL2xyZWFkLmMKaW5kZXggOTVjNjg5MWMyMDUuLjU4NzY4MWVmMzZjIDEwMDY0NAot
LS0gYS9zcmMvbHJlYWQuYworKysgYi9zcmMvbHJlYWQuYwpAQCAtMTI3MSw2ICsxMjcxLDUzIEBA
IGNsb3NlX2ZpbGVfdW53aW5kX2FuZHJvaWRfZmQgKHZvaWQgKnB0cikKIAogI2VuZGlmCiAKK3N0
YXRpYyBib29sCitjb21wbGV0ZV9maWxlbmFtZV9wIChMaXNwX09iamVjdCBwYXRobmFtZSkKK3sK
KyAgY29uc3QgdW5zaWduZWQgY2hhciAqcyA9IFNEQVRBIChwYXRobmFtZSk7CisgIHJldHVybiAo
SVNfRElSRUNUT1JZX1NFUCAoc1swXSkKKwkgIHx8IChTQ0hBUlMgKHBhdGhuYW1lKSA+IDIgJiYg
SVNfREVWSUNFX1NFUCAoc1sxXSkKKwkgICAgICAmJiBJU19ESVJFQ1RPUllfU0VQIChzWzJdKSkp
OworfQorCisvKiBzZWFyY2ggdGhlIGZpbGUgaW4gbG9hZCBoaW50cyB0byBnZXQgYSBwYXRoIGxp
c3QgKi8KK3N0YXRpYyBMaXNwX09iamVjdAorc2VhcmNoX2xvYWRfaGludHMoTGlzcF9PYmplY3Qg
bG9hZF9oaW50cywgTGlzcF9PYmplY3QgZmlsZSkgeworICBMaXNwX09iamVjdCBsb2FkX3BhdGgg
PSBRbmlsOworICBMaXNwX09iamVjdCB0YWlsID0gbG9hZF9oaW50czsKKyAgRk9SX0VBQ0hfVEFJ
TF9TQUZFICh0YWlsKQorICAgIHsKKyAgICAgIGJvb2wgZnVsbG1hdGNoID0gZmFsc2U7CisgICAg
ICBwdHJkaWZmX3QgbGVuID0gLTE7CisgICAgICBMaXNwX09iamVjdCByb3cgPSBYQ0FSICh0YWls
KTsKKyAgICAgIExpc3BfT2JqZWN0IGtleSA9IFhDQVIgKHJvdyk7CisgICAgICBDSEVDS19TVFJJ
TkcgKGtleSk7CisKKyAgICAgIGlmIChTQllURVMgKGtleSkgLSAxIDw9IFNCWVRFUyAoZmlsZSkp
CisJeworCSAgaWYgKFNCWVRFUyAoa2V5KSA+PSAxCisJICAgICAgJiYgU0RBVEEgKGtleSlbU0JZ
VEVTIChrZXkpIC0gMV0gPT0gJyonKQorCSAgICBsZW4gPSBTQllURVMgKGtleSkgLSAxOyAvKiAi
ZmlsZS0qIiBmb3JtYXQgKi8KKwkgIGVsc2UgaWYgKFNCWVRFUyAoa2V5KSA9PSBTQllURVMgKGZp
bGUpKQorCSAgICB7CisJICAgICAgbGVuID0gU0JZVEVTIChrZXkpOworCSAgICAgIGZ1bGxtYXRj
aCA9IHRydWU7CisJICAgIH0KKwl9CisKKyAgICAgIGlmIChsZW4gPj0gMCAmJiAwID09IG1lbWNt
cCAoU0RBVEEgKGtleSksIFNEQVRBIChmaWxlKSwgbGVuKSkKKwl7CisJICBpZiAoZnVsbG1hdGNo
KQorCSAgICB7CisJICAgICAgbG9hZF9wYXRoID0gQ0FMTE4gKEZhcHBlbmQsIFhDRFIgKHJvdykp
OworCSAgICAgIGJyZWFrOworCSAgICB9CisJICBsb2FkX3BhdGggPSBDQUxMTiAoRmFwcGVuZCwg
bG9hZF9wYXRoLCBYQ0RSIChyb3cpKTsKKwl9CisgICAgfQorICByZXR1cm4gbG9hZF9wYXRoOwor
fQorCiBERUZVTiAoImxvYWQiLCBGbG9hZCwgU2xvYWQsIDEsIDUsIDAsCiAgICAgICAgZG9jOiAv
KiBFeGVjdXRlIGEgZmlsZSBvZiBMaXNwIGNvZGUgbmFtZWQgRklMRS4KIEZpcnN0IHRyeSBGSUxF
IHdpdGggYC5lbGMnIGFwcGVuZGVkLCB0aGVuIHRyeSB3aXRoIGAuZWwnLCB0aGVuIHRyeQpAQCAt
MTI3OCw3ICsxMzI1LDkgQEAgREVGVU4gKCJsb2FkIiwgRmxvYWQsIFNsb2FkLCAxLCA1LCAwLAog
dGhlbiB0cnkgRklMRSB1bm1vZGlmaWVkICh0aGUgZXhhY3Qgc3VmZml4ZXMgaW4gdGhlIGV4YWN0
IG9yZGVyIGFyZQogZGV0ZXJtaW5lZCBieSBgbG9hZC1zdWZmaXhlcycpLiAgRW52aXJvbm1lbnQg
dmFyaWFibGUgcmVmZXJlbmNlcyBpbgogRklMRSBhcmUgcmVwbGFjZWQgd2l0aCB0aGVpciB2YWx1
ZXMgYnkgY2FsbGluZyBgc3Vic3RpdHV0ZS1pbi1maWxlLW5hbWUnLgotVGhpcyBmdW5jdGlvbiBz
ZWFyY2hlcyB0aGUgZGlyZWN0b3JpZXMgaW4gYGxvYWQtcGF0aCcuCitUaGlzIGZ1bmN0aW9uIHNl
YXJjaGVzIHRoZSBlbnRyeSBpbiBgbG9hZC1oaW50c2AgZmlyc3QsIGlmIHNvbWUgZW50cmllcwor
bWF0Y2hlZCwgc2VhcmNoZXMgaW4gdGhlIG1hdGNoZWQgcGF0aGVzLiBPdGhlcndpc2UsIHNlYXJj
aGVzIGRpcmVjdG9yaWVzCitpbiBgbG9hZC1wYXRoJy4KIAogSWYgb3B0aW9uYWwgc2Vjb25kIGFy
ZyBOT0VSUk9SIGlzIG5vbi1uaWwsCiByZXBvcnQgbm8gZXJyb3IgaWYgRklMRSBkb2Vzbid0IGV4
aXN0LgpAQCAtMTMyNyw3ICsxMzc2LDcgQEAgREVGVU4gKCJsb2FkIiwgRmxvYWQsIFNsb2FkLCAx
LCA1LCAwLAogI2VuZGlmCiAgIHNwZWNwZGxfcmVmIGZkX2luZGV4IFVOSU5JVDsKICAgc3BlY3Bk
bF9yZWYgY291bnQgPSBTUEVDUERMX0lOREVYICgpOwotICBMaXNwX09iamVjdCBmb3VuZCwgZWZv
dW5kLCBoaXN0X2ZpbGVfbmFtZTsKKyAgTGlzcF9PYmplY3QgZm91bmQsIGVmb3VuZCwgaGlzdF9m
aWxlX25hbWUsIGxvYWRfcGF0aCA9IFFuaWw7CiAgIC8qIFRydWUgbWVhbnMgd2UgcHJpbnRlZCB0
aGUgIi5lbCBpcyBuZXdlciIgbWVzc2FnZS4gICovCiAgIGJvb2wgbmV3ZXIgPSAwOwogICAvKiBU
cnVlIG1lYW5zIHdlIGFyZSBsb2FkaW5nIGEgY29tcGlsZWQgZmlsZS4gICovCkBAIC0xNDA5LDEy
ICsxNDU4LDIwIEBAIERFRlVOICgibG9hZCIsIEZsb2FkLCBTbG9hZCwgMSwgNSwgMCwKIAkgICAg
c3VmZml4ZXMgPSBDQUxMTiAoRmFwcGVuZCwgc3VmZml4ZXMsIFZsb2FkX2ZpbGVfcmVwX3N1ZmZp
eGVzKTsKIAl9CiAKKyAgICAgIGlmICghIChOSUxQIChWbG9hZF9oaW50cykgfHwgY29tcGxldGVf
ZmlsZW5hbWVfcCAoZmlsZSkpKQorCWxvYWRfcGF0aCA9IHNlYXJjaF9sb2FkX2hpbnRzKFZsb2Fk
X2hpbnRzLCBmaWxlKTsKKworICAgICAgaWYgKE5JTFAgKGxvYWRfcGF0aCkpCisJbG9hZF9wYXRo
ID0gVmxvYWRfcGF0aDsKKyAgICAgIGVsc2UKKwlsb2FkX3BhdGggPSBDQUxMTiAoRmFwcGVuZCwg
bG9hZF9wYXRoLCBWbG9hZF9wYXRoKTsKKwogI2lmICFkZWZpbmVkIFVTRV9BTkRST0lEX0FTU0VU
UwotICAgICAgZmQgPSBvcGVucCAoVmxvYWRfcGF0aCwgZmlsZSwgc3VmZml4ZXMsICZmb3VuZCwg
UW5pbCwKKyAgICAgIGZkID0gb3BlbnAgKGxvYWRfcGF0aCwgZmlsZSwgc3VmZml4ZXMsICZmb3Vu
ZCwgUW5pbCwKIAkJICBsb2FkX3ByZWZlcl9uZXdlciwgbm9fbmF0aXZlLCBOVUxMKTsKICNlbHNl
CiAgICAgICBhc3NldCA9IE5VTEw7Ci0gICAgICByYyA9IG9wZW5wIChWbG9hZF9wYXRoLCBmaWxl
LCBzdWZmaXhlcywgJmZvdW5kLCBRbmlsLAorICAgICAgcmMgPSBvcGVucCAobG9hZF9wYXRoLCBm
aWxlLCBzdWZmaXhlcywgJmZvdW5kLCBRbmlsLAogCQkgIGxvYWRfcHJlZmVyX25ld2VyLCBub19u
YXRpdmUsICZhc3NldCk7CiAgICAgICBmZC5mZCA9IHJjOwogICAgICAgZmQuYXNzZXQgPSBhc3Nl
dDsKQEAgLTE3ODAsMTYgKzE4MzcsNyBAQCBzYXZlX21hdGNoX2RhdGFfbG9hZCAoTGlzcF9PYmpl
Y3QgZmlsZSwgTGlzcF9PYmplY3Qgbm9lcnJvciwKICAgcmV0dXJuIHVuYmluZF90byAoY291bnQs
IHJlc3VsdCk7CiB9CiAMCi1zdGF0aWMgYm9vbAotY29tcGxldGVfZmlsZW5hbWVfcCAoTGlzcF9P
YmplY3QgcGF0aG5hbWUpCi17Ci0gIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnMgPSBTREFUQSAocGF0
aG5hbWUpOwotICByZXR1cm4gKElTX0RJUkVDVE9SWV9TRVAgKHNbMF0pCi0JICB8fCAoU0NIQVJT
IChwYXRobmFtZSkgPiAyCi0JICAgICAgJiYgSVNfREVWSUNFX1NFUCAoc1sxXSkgJiYgSVNfRElS
RUNUT1JZX1NFUCAoc1syXSkpKTsKLX0KLQotREVGVU4gKCJsb2NhdGUtZmlsZS1pbnRlcm5hbCIs
IEZsb2NhdGVfZmlsZV9pbnRlcm5hbCwgU2xvY2F0ZV9maWxlX2ludGVybmFsLCAyLCA0LCAwLAor
REVGVU4gKCJsb2NhdGUtZmlsZS1pbnRlcm5hbCIsIEZsb2NhdGVfZmlsZV9pbnRlcm5hbCwgU2xv
Y2F0ZV9maWxlX2ludGVybmFsLCAyLCA1LCAwLAogICAgICAgIGRvYzogLyogU2VhcmNoIGZvciBG
SUxFTkFNRSB0aHJvdWdoIFBBVEguCiBSZXR1cm5zIHRoZSBmaWxlJ3MgbmFtZSBpbiBhYnNvbHV0
ZSBmb3JtLCBvciBuaWwgaWYgbm90IGZvdW5kLgogSWYgU1VGRklYRVMgaXMgbm9uLW5pbCwgaXQg
c2hvdWxkIGJlIGEgbGlzdCBvZiBzdWZmaXhlcyB0byBhcHBlbmQgdG8KQEAgLTE3OTcsMTIgKzE4
NDUsMTggQEAgREVGVU4gKCJsb2NhdGUtZmlsZS1pbnRlcm5hbCIsIEZsb2NhdGVfZmlsZV9pbnRl
cm5hbCwgU2xvY2F0ZV9maWxlX2ludGVybmFsLCAyLAogSWYgbm9uLW5pbCwgUFJFRElDQVRFIGlz
IHVzZWQgaW5zdGVhZCBvZiBgZmlsZS1yZWFkYWJsZS1wJy4KIFBSRURJQ0FURSBjYW4gYWxzbyBi
ZSBhbiBpbnRlZ2VyIHRvIHBhc3MgdG8gdGhlIGZhY2Nlc3NhdCgyKSBmdW5jdGlvbiwKIGluIHdo
aWNoIGNhc2UgZmlsZS1uYW1lLWhhbmRsZXJzIGFyZSBpZ25vcmVkLgorTE9BRC1ISU5UUyBpcyBh
IGxpc3Qgc2FtZSBhcyBgbG9hZC1oaW50cycuCiBUaGlzIGZ1bmN0aW9uIHdpbGwgbm9ybWFsbHkg
c2tpcCBkaXJlY3Rvcmllcywgc28gaWYgeW91IHdhbnQgaXQgdG8gZmluZAogZGlyZWN0b3JpZXMs
IG1ha2Ugc3VyZSB0aGUgUFJFRElDQVRFIGZ1bmN0aW9uIHJldHVybnMgYGRpci1vaycgZm9yIHRo
ZW0uICAqLykKLSAgKExpc3BfT2JqZWN0IGZpbGVuYW1lLCBMaXNwX09iamVjdCBwYXRoLCBMaXNw
X09iamVjdCBzdWZmaXhlcywgTGlzcF9PYmplY3QgcHJlZGljYXRlKQorICAoTGlzcF9PYmplY3Qg
ZmlsZW5hbWUsIExpc3BfT2JqZWN0IHBhdGgsIExpc3BfT2JqZWN0IHN1ZmZpeGVzLCBMaXNwX09i
amVjdCBwcmVkaWNhdGUsCisgICBMaXNwX09iamVjdCBsb2FkX2hpbnRzKQogewotICBMaXNwX09i
amVjdCBmaWxlOwotICBpbnQgZmQgPSBvcGVucCAocGF0aCwgZmlsZW5hbWUsIHN1ZmZpeGVzLCAm
ZmlsZSwgcHJlZGljYXRlLCBmYWxzZSwgdHJ1ZSwKKyAgTGlzcF9PYmplY3QgZmlsZSwgZGlycyA9
IFFuaWw7CisgIGlmICghTklMUChsb2FkX2hpbnRzKSkKKyAgICBkaXJzID0gc2VhcmNoX2xvYWRf
aGludHMobG9hZF9oaW50cywgZmlsZW5hbWUpOworICBpZiAoTklMUChkaXJzKSkKKyAgICBkaXJz
ID0gcGF0aDsKKyAgaW50IGZkID0gb3BlbnAgKGRpcnMsIGZpbGVuYW1lLCBzdWZmaXhlcywgJmZp
bGUsIHByZWRpY2F0ZSwgZmFsc2UsIHRydWUsCiAJCSAgTlVMTCk7CiAgIGlmIChOSUxQIChwcmVk
aWNhdGUpICYmIGZkID49IDApCiAgICAgZW1hY3NfY2xvc2UgKGZkKTsKQEAgLTE4ODIsNyArMTkz
Niw3IEBAIG1heWJlX3N3YXBfZm9yX2VsbiAoYm9vbCBub19uYXRpdmUsIExpc3BfT2JqZWN0ICpm
aWxlbmFtZSwgaW50ICpmZCwKIAkJIGNhbid0IGZpbmQgZXZlbiBjZW50cmFsIC5lbCBmaWxlcy4g
ICovCiAJICAgICAgaWYgKE5JTFAgKEZsb2NhdGVfZmlsZV9pbnRlcm5hbCAoYnVpbGRfc3RyaW5n
ICgic2ltcGxlLmVsIiksCiAJCQkJCSAgICAgICBWbG9hZF9wYXRoLAotCQkJCQkgICAgICAgUW5p
bCwgUW5pbCkpKQorCQkJCQkgICAgICAgUW5pbCwgUW5pbCwgUW5pbCkpKQogCQlyZXR1cm47CiAJ
ICAgICAgVmRlbGF5ZWRfd2FybmluZ3NfbGlzdAogCQk9IEZjb25zIChsaXN0MgpAQCAtNTg1MSw2
ICs1OTA1LDEzIEBAIHN5bXNfb2ZfbHJlYWQgKHZvaWQpCiAJICAgICAgIGRvYzogLyogTm9uLW5p
bCBtZWFucyByZWFkIHJlY3Vyc2l2ZSBzdHJ1Y3R1cmVzIHVzaW5nICNOPSBhbmQgI04jIHN5bnRh
eC4gICovKTsKICAgVnJlYWRfY2lyY2xlID0gUXQ7CiAKKyAgREVGVkFSX0xJU1AgKCJsb2FkLWhp
bnRzIiwgVmxvYWRfaGludHMsCisJICAgICAgIGRvYzogLyogQSBsaXN0IGZvciBuYW1lIHRvIGRp
cmVjdG9yeS1saXN0IHRvIHNlYXJjaCBmb3IgZmlsZXMKK3RvIGxvYWQsIGJlZm9yZSB0aGUgbG9h
ZC1wYXRoLiAgRWFjaGUgZW50cnkgaXMgYSBmaWxlIG5hbWUgdG8gZGlyZWN0b3J5IGxpc3QsCitm
aWxlIG5hbWUgZW5kcyB3aXRoIGEgJyonIG1lYW5zIHByZWZpeCBtYXRjaGluZy4gRXhhbXBsZToK
KyAgJygoIm5hbWUxLSoiICIvcGF0aDEiICIvcGF0aDIiKSkuICAqLyk7CisgIFZsb2FkX2hpbnRz
ID0gUW5pbDsKKwogICBERUZWQVJfTElTUCAoImxvYWQtcGF0aCIsIFZsb2FkX3BhdGgsCiAJICAg
ICAgIGRvYzogLyogTGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIGZpbGVzIHRvIGxv
YWQuCiBFYWNoIGVsZW1lbnQgaXMgYSBzdHJpbmcgKGRpcmVjdG9yeSBmaWxlIG5hbWUpIG9yIG5p
bCAobWVhbmluZwotLSAKMi4zNC4xCgo=
--00000000000022e8370624f4d2a5--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 21 Oct 2024 14:36:02 +0000
Resent-Message-ID: <handler.41646.B41646.172952130218606 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.172952130218606
          (code B ref 41646); Mon, 21 Oct 2024 14:36:02 +0000
Received: (at 41646) by debbugs.gnu.org; 21 Oct 2024 14:35:02 +0000
Received: from localhost ([127.0.0.1]:52786 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t2tUr-0004po-Kc
	for submit <at> debbugs.gnu.org; Mon, 21 Oct 2024 10:35:02 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:10032)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1t2tUp-0004pN-8m
 for 41646 <at> debbugs.gnu.org; Mon, 21 Oct 2024 10:35:00 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id CEB0A1000C3;
 Mon, 21 Oct 2024 10:34:26 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1729521266;
 bh=2VAvbJsgvoD6AqHji2DsDNZC3NkXFKERdZUfGF2wGlg=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=lYnwlMVP7xrPLvorr2EUiPj46/g7FFTQPW2ttKC6Tl69fRllusI+5uXtEBtXUpi8b
 pQldk45LXnbztylUFBNoejsNWFNdTGufJkeWS7Fq+7lofNWJpkImMwZpfj4hnwXDCZ
 HF/6ibl8dy9jfwjZsUEXIfIrczJQCpdXGW6RODnSHsfLMgaYLwOPqf7sEsni1WdX22
 tIP9FheZ/xNebAzt0MXyYELlhGrubCWvjDhwv2raNI+4Cd+WSnhsh1gz10iKKYz7Y4
 nALyO//o2x5/oqw7DnR/h2DIoyZwElRkvnQnIslo0opF2ImZyy4Q46omHPBiNmwSYb
 bxbp1Mzk9RhNg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 136EC100042;
 Mon, 21 Oct 2024 10:34:26 -0400 (EDT)
Received: from pastel (69-196-161-60.dsl.teksavvy.com [69.196.161.60])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id CBB801207F2;
 Mon, 21 Oct 2024 10:34:25 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 (Lin Sun's message of "Mon, 21 Oct 2024 04:09:25 +0000")
Message-ID: <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
Date: Mon, 21 Oct 2024 10:34:24 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.021 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> The `load-hints` can reduce searching attempts by putting the matched
> paths on the top of `load-path`, it won't break the original
> load-path; and the patch for the `package.el` will put the installed
> files into the `load-hints`.

The downside is that it can break existing setups for users who use
`package.el` but also modify their `load-path` "by hand" in the
init file, and it doesn't help users who don't use `package.el`.

Note also that your `load-hints` could grow large, so scanning it could
take a significant amount of time.  Maybe it would make sense to turn it
into a hash table for those entries that don't use the "*" special
thingy (and maybe use a radix-tree for those entries using the "*"
special thingy)?

But your prefix idea makes me think maybe we can aim for a significantly
smaller table, where we basically record only one entry per
package/directory, like for "~/.emacs.d/elpa/helm-core-VERSION/" we just
record "helm" because all the `.el` files share the "helm" prefix.
I.e. keep for each dir the corresponding longest-common-prefix.
If we're careful to consider only those files with a `.el` suffix, then
I think we can reduce the hint to such a longest-common-prefix.  I.e. an
info which doesn't say just "you can find FOO* files here" but "you can
find *only* FOO* files here".

Then we should be able to create quickly (so it can be recomputed on the
fly whenever `load-path` changes) a radix-tree that maps a relative
file name to the list of directories from `load-path` where it is
worthwhile to look (by filtering out those dirs whose
longest-common-prefix doesn't match).  We'd only do it for MUST_SUFFIX
is specified, of course.

> 1. On my local linux test env, disable load-hints on the package.el,
> the test cli spends 6.327s; and enable load-hints then it spends
> 5.392s.
>
> 2. On my local Windows test env, disable load-hints on the package.el,
> the test cli spends 11.769s, and enable load-hints then it spends
> 7.279s.

Is that with or without using `package-quickstart`?

BTW, in your patch, you change `locate-file-internal` which seems wrong,
since that function is not specific to loading ELisp files, it's also
used for $MANPATH, $PATH, and things like that.

Similarly, I wasn't able to convince myself that your patch does the
right thing when `require` or `load` is used such that MUST_SUFFIX is
not specified.


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 21 Oct 2024 17:13:02 +0000
Resent-Message-ID: <handler.41646.B41646.172953077814540 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Stefan Monnier <monnier@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.172953077814540
          (code B ref 41646); Mon, 21 Oct 2024 17:13:02 +0000
Received: (at 41646) by debbugs.gnu.org; 21 Oct 2024 17:12:58 +0000
Received: from localhost ([127.0.0.1]:53151 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t2vxi-0003mR-5o
	for submit <at> debbugs.gnu.org; Mon, 21 Oct 2024 13:12:58 -0400
Received: from mail-wm1-f42.google.com ([209.85.128.42]:51280)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t2vxg-0003mJ-0H
 for 41646 <at> debbugs.gnu.org; Mon, 21 Oct 2024 13:12:56 -0400
Received: by mail-wm1-f42.google.com with SMTP id
 5b1f17b1804b1-4315abed18aso43774795e9.2
 for <41646 <at> debbugs.gnu.org>; Mon, 21 Oct 2024 10:12:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1729530688; x=1730135488; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=rhl0ZYuOCk/FIPq37Oet58l9OBRhsnlPRXuHenETsXw=;
 b=Lgtqieh6IAHWkFxY3mK09K4ht/2kC1ygJ0p4IHqBdcJCJVJdiRt740W0wseX4ijbCh
 heU/r3tFutKLsLdlSnEq1ULDonB6J2ncH2oEpb552UndQ013XTesOcfPyiHarPyyIBU7
 9hZSqJZILtNIx/mlLPrIbiOrG9QDR9tXeFxNGDqkMHr7PQc8Mg96ORRM2TC5NBvoVAdd
 4NawXVNFgd7D8+O0Aj+cK/9qbo4p1uUlH6UAUWKCrJoOQtajSam18DVGb/eawr+UMaMd
 4FLYLoCvrT3L0s3tFY6idmXKkRXTlSR3qabbPzQaoS/d6bbtBq7pwQiWInFKAwWjPdlM
 uuzQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1729530688; x=1730135488;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=rhl0ZYuOCk/FIPq37Oet58l9OBRhsnlPRXuHenETsXw=;
 b=ukzenQ3Sg0ceXnskSr9cWPG/35qzsxZNv77+uKgK62eTZFkGO8M5Tri/Y3fhFeeN8q
 4y02TBsjFhwaPx2HS1gpdZ3gjkxabKt4PxBA8bzG0jMocoWjYQO8yLfY/XKXxbddi80Y
 clt6vH0DZ25WifdLwaQuCdjhRhpv7uN0TKLI2KZCHBAwVRKzBI08kEYacOgp0tJgBCpv
 tSq0VvRiSDXzweBeedgV+jYCQ668An+w9ylhkZuj7com6uxSxqNkgbHsVB370ovk8Tvj
 PRgLtskcN/aPlIKjmDq20OfpEMCnVKOTZR8p78w2H286At+KS1xD2B5cbbxRuv8KmcY8
 eDZg==
X-Forwarded-Encrypted: i=1;
 AJvYcCVmdOcZLOG3CI1d7/Y9DAjN0VzZ4ZjyNGoVVJUxxGVsMS1rC4zeXp9XHekSq2ZcuBZ2ledVHA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yywi2ttEbVYW9vRHoHxeG1Mnue64L+tj+tK2hmZnmJ5yZdCBRrB
 q2QC79yrd7TgRn2ALzWZSCp983y183pzTOtVLpMHbLyj7mNGHsJaoQnSAEgKJT4uBpy8A9kR0M+
 mgyfdqaMPk55NwO9FXVbwfMX7Kls=
X-Google-Smtp-Source: AGHT+IG5VG5kaIc+l+R+fsSC/XX6VjuiJ608VieA/v9tUNArjN5lbJLokYcEwkWyG/9auahRPKawmL++OBwGeZE8B8U=
X-Received: by 2002:a5d:4e4d:0:b0:37d:542a:7872 with SMTP id
 ffacd0b85a97d-37eab7281ecmr7852024f8f.49.1729530688344; Mon, 21 Oct 2024
 10:11:28 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Mon, 21 Oct 2024 17:11:17 +0000
Message-ID: <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 (-)

On Mon, Oct 21, 2024 at 2:34=E2=80=AFPM Stefan Monnier <monnier@HIDDEN=
al.ca> wrote:
>
> > The `load-hints` can reduce searching attempts by putting the matched
> > paths on the top of `load-path`, it won't break the original
> > load-path; and the patch for the `package.el` will put the installed
> > files into the `load-hints`.
>
> The downside is that it can break existing setups for users who use
> `package.el` but also modify their `load-path` "by hand" in the
> init file, and it doesn't help users who don't use `package.el`.

The `load-hints' do nothing with its default value nil.

The package manager can use the `load-hints' or ignore it. The
"package.el" is emacs builtin package manager, can support or ignore
the `load-hints' by setting `package-enable-load-hints` to t or nil.
Other package managers can continue without any change, or do some
work to get performance benefits by supporting the `load-hints'.

> Note also that your `load-hints` could grow large, so scanning it could
> take a significant amount of time.  Maybe it would make sense to turn it
> into a hash table for those entries that don't use the "*" special
> thingy (and maybe use a radix-tree for those entries using the "*"
> special thingy)?

The `load-hints` could grow as the `load-path', or larger than the
`load-path', but it should not be too much.

For the hash table, it can not support the '*', or the hash-table
requires every file to have an entry explicitly, which costs a lot on
building the table.

I had checked the radix-tree at the beginning, it's not user-friendly,
or it's not easy to dump the radix tree for an end user to understand
which is obviously matching the entry or not.

The `load-hints' in the list are easy to understand / maintain by the end u=
ser.

> But your prefix idea makes me think maybe we can aim for a significantly
> smaller table, where we basically record only one entry per
> package/directory, like for "~/.emacs.d/elpa/helm-core-VERSION/" we just
> record "helm" because all the `.el` files share the "helm" prefix.
> I.e. keep for each dir the corresponding longest-common-prefix.
> If we're careful to consider only those files with a `.el` suffix, then
> I think we can reduce the hint to such a longest-common-prefix.  I.e. an
> info which doesn't say just "you can find FOO* files here" but "you can
> find *only* FOO* files here".

I had searched all 200+ packages in my test env, most of the packages
use their feature name as the prefix, only 11 packages have
exceptions. But I didn't understand how it works toward the
`load-hints'.

> Then we should be able to create quickly (so it can be recomputed on the
> fly whenever `load-path` changes) a radix-tree that maps a relative
> file name to the list of directories from `load-path` where it is
> worthwhile to look (by filtering out those dirs whose
> longest-common-prefix doesn't match).  We'd only do it for MUST_SUFFIX
> is specified, of course.
>
> > 1. On my local linux test env, disable load-hints on the package.el,
> > the test cli spends 6.327s; and enable load-hints then it spends
> > 5.392s.
> >
> > 2. On my local Windows test env, disable load-hints on the package.el,
> > the test cli spends 11.769s, and enable load-hints then it spends
> > 7.279s.
>
> Is that with or without using `package-quickstart`?

The `package-quickstart' does not help in this scenario, the key point
is the `load-path` count will times the read attempt.
A simple "(require 'X)" will lead the emacs walks through the
`load-path' to attempt opening the "X.so, X.so.gz, X.elc, X.elc.gz,
X.el, X.el.gz" one by one, if the `load-path' has 200 entries, emacs
will try search 200x6=3D1200 times for the worst case.

The `load-hints` will help put the matched path to the top of
`load-path` then emacs can find the X on the top entries of
`load-path' then returns shortly.

> BTW, in your patch, you change `locate-file-internal` which seems wrong,
> since that function is not specific to loading ELisp files, it's also
> used for $MANPATH, $PATH, and things like that.
>
> Similarly, I wasn't able to convince myself that your patch does the
> right thing when `require` or `load` is used such that MUST_SUFFIX is
> not specified.

I'm going to search the cases carefully. Thank you for all the
comments, appreciate it.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Mon, 21 Oct 2024 19:56:02 +0000
Resent-Message-ID: <handler.41646.B41646.172954054111420 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Stefan Monnier <monnier@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.172954054111420
          (code B ref 41646); Mon, 21 Oct 2024 19:56:02 +0000
Received: (at 41646) by debbugs.gnu.org; 21 Oct 2024 19:55:41 +0000
Received: from localhost ([127.0.0.1]:53412 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t2yVA-0002y7-IM
	for submit <at> debbugs.gnu.org; Mon, 21 Oct 2024 15:55:41 -0400
Received: from mail-lj1-f177.google.com ([209.85.208.177]:44283)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t2yV6-0002s6-Fw
 for 41646 <at> debbugs.gnu.org; Mon, 21 Oct 2024 15:55:38 -0400
Received: by mail-lj1-f177.google.com with SMTP id
 38308e7fff4ca-2fb388e64b0so47662681fa.0
 for <41646 <at> debbugs.gnu.org>; Mon, 21 Oct 2024 12:55:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1729540443; x=1730145243; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=9DCDShS2hTcaWnVGLDzFxljj0z2Rw4FvAe2u4KZ2uTU=;
 b=eKx2jh0gJsiJ7ORyq1Csw4dWCBJ65egk/l5liIa1I1UmGzHqsRzBwtA6IgHg6Wws99
 qI2wTiTWRwB702tIXpCzyhuvaCOU6anTN8vGTYSzobfg0bpGVuxMe82+EPHxUznK42Hc
 3risLtoUGXan5vFK1Rg+wUPE6adgaOVdKYaE2Oo3PsDCVJxElnnHDwb+dwqlPfCbyHOL
 vtkAD02O8/W2S9XY9YOnlwbLyDQhrWlMcpaA/UfX+iSc2Pbn/xZo+UbUS1rgd7UAWG5Q
 hLR6wwyvb3VxCFTkmbjOKanBh7gvTrrKKB5x6rUog2Exd20MAbjoIMcusMhw6WdtuPXg
 lSyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1729540443; x=1730145243;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=9DCDShS2hTcaWnVGLDzFxljj0z2Rw4FvAe2u4KZ2uTU=;
 b=pB7go2VjCnRCcareZvtK5Nw/DSqawe+NfEGZ7OCeKtVa88KWi2oLiy5EUtT+5901Uu
 02ugW6KL7nYPo8oMfI02sOSrS49V/PZHCSTSN2pXofmiEtHWOb4IP2aYJYacT17Z2yfn
 nhN79JF0k8GOJv0Nwkb1HdCoTuRsyrW9eeaJM+Ujday2wPBh3ieLNvOEp/2XKSWmsQS9
 +EAmCDQTzkrqe+fOWRyNb2X9LwMv0lSXhANbmKJoDe6YcBaRkjG1LVeXmt1TCmRXoKu1
 v1jJOci9pQtq0hO8fcLgDpwSw1hrU+7/pfbt6TWMMnO64jKC1vW1JMwJON6FSOVVVrSI
 4tLA==
X-Forwarded-Encrypted: i=1;
 AJvYcCXJkHL4cjNER36h7VDMTqUbCbX0X6pMgFCL1BlWl8tjcofxoU6oK2zUL+DnyDXC9dqSQaY17w==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwUPDmSkypVy9/4vHFh3hKVB3IlkXW1fA2CV+FNubA6GmmVUXjT
 kFUblr/gCabkgIh/ecP5uvstn2yG2MQuEYXNuAOSWQFHWzSbdQoNCJNnLRLtY+2/22yeebkqyX+
 NAVdYluCA6OfVv5IVUuYv6QGFsHc=
X-Google-Smtp-Source: AGHT+IGBVgzPXINYGWR/dyN3yuMh/tQrbNXJGaYUwJX3LocRvpMn6cwwZZCdkTwUjnrN7+BXBISqOoJvx33/jTMUHMc=
X-Received: by 2002:a2e:bc1d:0:b0:2fb:5a19:5b9b with SMTP id
 38308e7fff4ca-2fc90441239mr8389261fa.8.1729540443172; Mon, 21 Oct 2024
 12:54:03 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86jzedy84g.fsf@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Mon, 21 Oct 2024 19:53:51 +0000
Message-ID: <CABCREdoWsoh-tN7cNHY3_aZgCpDyewma0DBQKfLmpNNYF8rQpw@HIDDEN>
Content-Type: multipart/mixed; boundary="000000000000be3e640625020367"
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 (-)

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

On Mon, Oct 21, 2024 at 2:34=E2=80=AFPM Stefan Monnier <monnier@HIDDEN=
al.ca> wrote:
> BTW, in your patch, you change `locate-file-internal` which seems wrong,
> since that function is not specific to loading ELisp files, it's also
> used for $MANPATH, $PATH, and things like that.

You're right, the change in `locate-file-internal' didn't merge the
original path.
I attached the patch to append the `dirs' with `path' together.

> Similarly, I wasn't able to convince myself that your patch does the
> right thing when `require` or `load` is used such that MUST_SUFFIX is
> not specified.

The `load-hints` just put the matched paths on the top of `load-path`,
still following the `load-path' mechanism, and won't affect any other
features (Or someone already has some code to adjust the `load-path'
orders, can just ignore the `load-hints', everything work like before,
no break changes).

--000000000000be3e640625020367
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0001-New-variable-load-hints-to-speedup-searching-file-fo.patch"
Content-Disposition: attachment; 
	filename="0001-New-variable-load-hints-to-speedup-searching-file-fo.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m2jfpsoq1>
X-Attachment-Id: f_m2jfpsoq1

RnJvbSA2NWM1NGU4ODJhMGFhYjI4ZmM1Njk3YTY0ZmQxZmRmMTVhMjY2NDQwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW4gU3VuIDxzdW5saW43QGhvdG1haWwuY29tPgpEYXRlOiBX
ZWQsIDE2IE9jdCAyMDI0IDA3OjMxOjU5ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxLzJdIE5ldyB2
YXJpYWJsZSBsb2FkLWhpbnRzIHRvIHNwZWVkdXAgc2VhcmNoaW5nIGZpbGUgZm9yCiAobG9hZCkg
ZnVuY3Rpb24KCiogbGlzcC9zdWJyLmVsOiAobG9jYXRlLWxpYnJhcnkpIHN1cHBvcnQgdGhlIGBs
b2FkLWhpbnRzJyB2YXJpYWJsZQoqIHNyYy9scmVhZC5jOiAobG9hZCkgZnVuY3Rpb24gc3VwcG9y
dCB0aGUgYGxvYWQtaGludHMnIHZhcmlhYmxlCi0tLQogbGlzcC9zdWJyLmVsIHwgIDkgKystLS0K
IHNyYy9scmVhZC5jICB8IDk5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKy0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgODYgaW5zZXJ0aW9ucygrKSwgMjIgZGVs
ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9zdWJyLmVsIGIvbGlzcC9zdWJyLmVsCmluZGV4
IDJlYWVkNjgyNDA2Li4zZDk1OTkyNzBlZCAxMDA2NDQKLS0tIGEvbGlzcC9zdWJyLmVsCisrKyBi
L2xpc3Avc3Vici5lbApAQCAtMzE0MSwxMCArMzE0MSwxMSBAQCBsb2NhdGUtbGlicmFyeQogc3Ry
aW5nLiAgV2hlbiBydW4gaW50ZXJhY3RpdmVseSwgdGhlIGFyZ3VtZW50IElOVEVSQUNUSVZFLUNB
TEwgaXMgdCwKIGFuZCB0aGUgZmlsZSBuYW1lIGlzIGRpc3BsYXllZCBpbiB0aGUgZWNobyBhcmVh
LiIKICAgKGludGVyYWN0aXZlIChsaXN0IChyZWFkLWxpYnJhcnktbmFtZSkgbmlsIG5pbCB0KSkK
LSAgKGxldCAoKGZpbGUgKGxvY2F0ZS1maWxlIGxpYnJhcnkKLQkJCSAgIChvciBwYXRoIGxvYWQt
cGF0aCkKLQkJCSAgIChhcHBlbmQgKHVubGVzcyBub3N1ZmZpeCAoZ2V0LWxvYWQtc3VmZml4ZXMp
KQotCQkJCSAgIGxvYWQtZmlsZS1yZXAtc3VmZml4ZXMpKSkpCisgIChsZXQgKChmaWxlIChsb2Nh
dGUtZmlsZS1pbnRlcm5hbAorICAgICAgICAgICAgICAgbGlicmFyeSAob3IgcGF0aCBsb2FkLXBh
dGgpCisgICAgICAgICAgICAgICAoYXBwZW5kICh1bmxlc3Mgbm9zdWZmaXggKGdldC1sb2FkLXN1
ZmZpeGVzKSkKKyAgICAgICAgICAgICAgICAgICAgICAgbG9hZC1maWxlLXJlcC1zdWZmaXhlcykK
KyAgICAgICAgICAgICAgIG5pbCAodW5sZXNzIHBhdGggbG9hZC1oaW50cykpKSkKICAgICAoaWYg
aW50ZXJhY3RpdmUtY2FsbAogCShpZiBmaWxlCiAJICAgIChtZXNzYWdlICJMaWJyYXJ5IGlzIGZp
bGUgJXMiIChhYmJyZXZpYXRlLWZpbGUtbmFtZSBmaWxlKSkKZGlmZiAtLWdpdCBhL3NyYy9scmVh
ZC5jIGIvc3JjL2xyZWFkLmMKaW5kZXggOTVjNjg5MWMyMDUuLjhkNTU4YWQ4YzY2IDEwMDY0NAot
LS0gYS9zcmMvbHJlYWQuYworKysgYi9zcmMvbHJlYWQuYwpAQCAtMTI3MSw2ICsxMjcxLDUzIEBA
IGNsb3NlX2ZpbGVfdW53aW5kX2FuZHJvaWRfZmQgKHZvaWQgKnB0cikKIAogI2VuZGlmCiAKK3N0
YXRpYyBib29sCitjb21wbGV0ZV9maWxlbmFtZV9wIChMaXNwX09iamVjdCBwYXRobmFtZSkKK3sK
KyAgY29uc3QgdW5zaWduZWQgY2hhciAqcyA9IFNEQVRBIChwYXRobmFtZSk7CisgIHJldHVybiAo
SVNfRElSRUNUT1JZX1NFUCAoc1swXSkKKwkgIHx8IChTQ0hBUlMgKHBhdGhuYW1lKSA+IDIgJiYg
SVNfREVWSUNFX1NFUCAoc1sxXSkKKwkgICAgICAmJiBJU19ESVJFQ1RPUllfU0VQIChzWzJdKSkp
OworfQorCisvKiBzZWFyY2ggdGhlIGZpbGUgaW4gbG9hZCBoaW50cyB0byBnZXQgYSBwYXRoIGxp
c3QgKi8KK3N0YXRpYyBMaXNwX09iamVjdAorc2VhcmNoX2xvYWRfaGludHMoTGlzcF9PYmplY3Qg
bG9hZF9oaW50cywgTGlzcF9PYmplY3QgZmlsZSkgeworICBMaXNwX09iamVjdCBsb2FkX3BhdGgg
PSBRbmlsOworICBMaXNwX09iamVjdCB0YWlsID0gbG9hZF9oaW50czsKKyAgRk9SX0VBQ0hfVEFJ
TF9TQUZFICh0YWlsKQorICAgIHsKKyAgICAgIGJvb2wgZnVsbG1hdGNoID0gZmFsc2U7CisgICAg
ICBwdHJkaWZmX3QgbGVuID0gLTE7CisgICAgICBMaXNwX09iamVjdCByb3cgPSBYQ0FSICh0YWls
KTsKKyAgICAgIExpc3BfT2JqZWN0IGtleSA9IFhDQVIgKHJvdyk7CisgICAgICBDSEVDS19TVFJJ
TkcgKGtleSk7CisKKyAgICAgIGlmIChTQllURVMgKGtleSkgLSAxIDw9IFNCWVRFUyAoZmlsZSkp
CisJeworCSAgaWYgKFNCWVRFUyAoa2V5KSA+PSAxCisJICAgICAgJiYgU0RBVEEgKGtleSlbU0JZ
VEVTIChrZXkpIC0gMV0gPT0gJyonKQorCSAgICBsZW4gPSBTQllURVMgKGtleSkgLSAxOyAvKiAi
ZmlsZS0qIiBmb3JtYXQgKi8KKwkgIGVsc2UgaWYgKFNCWVRFUyAoa2V5KSA9PSBTQllURVMgKGZp
bGUpKQorCSAgICB7CisJICAgICAgbGVuID0gU0JZVEVTIChrZXkpOworCSAgICAgIGZ1bGxtYXRj
aCA9IHRydWU7CisJICAgIH0KKwl9CisKKyAgICAgIGlmIChsZW4gPj0gMCAmJiAwID09IG1lbWNt
cCAoU0RBVEEgKGtleSksIFNEQVRBIChmaWxlKSwgbGVuKSkKKwl7CisJICBpZiAoZnVsbG1hdGNo
KQorCSAgICB7CisJICAgICAgbG9hZF9wYXRoID0gQ0FMTE4gKEZhcHBlbmQsIFhDRFIgKHJvdykp
OworCSAgICAgIGJyZWFrOworCSAgICB9CisJICBsb2FkX3BhdGggPSBDQUxMTiAoRmFwcGVuZCwg
bG9hZF9wYXRoLCBYQ0RSIChyb3cpKTsKKwl9CisgICAgfQorICByZXR1cm4gbG9hZF9wYXRoOwor
fQorCiBERUZVTiAoImxvYWQiLCBGbG9hZCwgU2xvYWQsIDEsIDUsIDAsCiAgICAgICAgZG9jOiAv
KiBFeGVjdXRlIGEgZmlsZSBvZiBMaXNwIGNvZGUgbmFtZWQgRklMRS4KIEZpcnN0IHRyeSBGSUxF
IHdpdGggYC5lbGMnIGFwcGVuZGVkLCB0aGVuIHRyeSB3aXRoIGAuZWwnLCB0aGVuIHRyeQpAQCAt
MTI3OCw3ICsxMzI1LDkgQEAgREVGVU4gKCJsb2FkIiwgRmxvYWQsIFNsb2FkLCAxLCA1LCAwLAog
dGhlbiB0cnkgRklMRSB1bm1vZGlmaWVkICh0aGUgZXhhY3Qgc3VmZml4ZXMgaW4gdGhlIGV4YWN0
IG9yZGVyIGFyZQogZGV0ZXJtaW5lZCBieSBgbG9hZC1zdWZmaXhlcycpLiAgRW52aXJvbm1lbnQg
dmFyaWFibGUgcmVmZXJlbmNlcyBpbgogRklMRSBhcmUgcmVwbGFjZWQgd2l0aCB0aGVpciB2YWx1
ZXMgYnkgY2FsbGluZyBgc3Vic3RpdHV0ZS1pbi1maWxlLW5hbWUnLgotVGhpcyBmdW5jdGlvbiBz
ZWFyY2hlcyB0aGUgZGlyZWN0b3JpZXMgaW4gYGxvYWQtcGF0aCcuCitUaGlzIGZ1bmN0aW9uIHNl
YXJjaGVzIHRoZSBlbnRyeSBpbiBgbG9hZC1oaW50c2AgZmlyc3QsIGlmIHNvbWUgZW50cmllcwor
bWF0Y2hlZCwgc2VhcmNoZXMgaW4gdGhlIG1hdGNoZWQgcGF0aGVzLiBPdGhlcndpc2UsIHNlYXJj
aGVzIGRpcmVjdG9yaWVzCitpbiBgbG9hZC1wYXRoJy4KIAogSWYgb3B0aW9uYWwgc2Vjb25kIGFy
ZyBOT0VSUk9SIGlzIG5vbi1uaWwsCiByZXBvcnQgbm8gZXJyb3IgaWYgRklMRSBkb2Vzbid0IGV4
aXN0LgpAQCAtMTMyNyw3ICsxMzc2LDcgQEAgREVGVU4gKCJsb2FkIiwgRmxvYWQsIFNsb2FkLCAx
LCA1LCAwLAogI2VuZGlmCiAgIHNwZWNwZGxfcmVmIGZkX2luZGV4IFVOSU5JVDsKICAgc3BlY3Bk
bF9yZWYgY291bnQgPSBTUEVDUERMX0lOREVYICgpOwotICBMaXNwX09iamVjdCBmb3VuZCwgZWZv
dW5kLCBoaXN0X2ZpbGVfbmFtZTsKKyAgTGlzcF9PYmplY3QgZm91bmQsIGVmb3VuZCwgaGlzdF9m
aWxlX25hbWUsIGxvYWRfcGF0aCA9IFFuaWw7CiAgIC8qIFRydWUgbWVhbnMgd2UgcHJpbnRlZCB0
aGUgIi5lbCBpcyBuZXdlciIgbWVzc2FnZS4gICovCiAgIGJvb2wgbmV3ZXIgPSAwOwogICAvKiBU
cnVlIG1lYW5zIHdlIGFyZSBsb2FkaW5nIGEgY29tcGlsZWQgZmlsZS4gICovCkBAIC0xNDA5LDEy
ICsxNDU4LDIwIEBAIERFRlVOICgibG9hZCIsIEZsb2FkLCBTbG9hZCwgMSwgNSwgMCwKIAkgICAg
c3VmZml4ZXMgPSBDQUxMTiAoRmFwcGVuZCwgc3VmZml4ZXMsIFZsb2FkX2ZpbGVfcmVwX3N1ZmZp
eGVzKTsKIAl9CiAKKyAgICAgIGlmICghIChOSUxQIChWbG9hZF9oaW50cykgfHwgY29tcGxldGVf
ZmlsZW5hbWVfcCAoZmlsZSkpKQorCWxvYWRfcGF0aCA9IHNlYXJjaF9sb2FkX2hpbnRzKFZsb2Fk
X2hpbnRzLCBmaWxlKTsKKworICAgICAgaWYgKE5JTFAgKGxvYWRfcGF0aCkpCisJbG9hZF9wYXRo
ID0gVmxvYWRfcGF0aDsKKyAgICAgIGVsc2UKKwlsb2FkX3BhdGggPSBDQUxMTiAoRmFwcGVuZCwg
bG9hZF9wYXRoLCBWbG9hZF9wYXRoKTsKKwogI2lmICFkZWZpbmVkIFVTRV9BTkRST0lEX0FTU0VU
UwotICAgICAgZmQgPSBvcGVucCAoVmxvYWRfcGF0aCwgZmlsZSwgc3VmZml4ZXMsICZmb3VuZCwg
UW5pbCwKKyAgICAgIGZkID0gb3BlbnAgKGxvYWRfcGF0aCwgZmlsZSwgc3VmZml4ZXMsICZmb3Vu
ZCwgUW5pbCwKIAkJICBsb2FkX3ByZWZlcl9uZXdlciwgbm9fbmF0aXZlLCBOVUxMKTsKICNlbHNl
CiAgICAgICBhc3NldCA9IE5VTEw7Ci0gICAgICByYyA9IG9wZW5wIChWbG9hZF9wYXRoLCBmaWxl
LCBzdWZmaXhlcywgJmZvdW5kLCBRbmlsLAorICAgICAgcmMgPSBvcGVucCAobG9hZF9wYXRoLCBm
aWxlLCBzdWZmaXhlcywgJmZvdW5kLCBRbmlsLAogCQkgIGxvYWRfcHJlZmVyX25ld2VyLCBub19u
YXRpdmUsICZhc3NldCk7CiAgICAgICBmZC5mZCA9IHJjOwogICAgICAgZmQuYXNzZXQgPSBhc3Nl
dDsKQEAgLTE3ODAsMTYgKzE4MzcsNyBAQCBzYXZlX21hdGNoX2RhdGFfbG9hZCAoTGlzcF9PYmpl
Y3QgZmlsZSwgTGlzcF9PYmplY3Qgbm9lcnJvciwKICAgcmV0dXJuIHVuYmluZF90byAoY291bnQs
IHJlc3VsdCk7CiB9CiAMCi1zdGF0aWMgYm9vbAotY29tcGxldGVfZmlsZW5hbWVfcCAoTGlzcF9P
YmplY3QgcGF0aG5hbWUpCi17Ci0gIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnMgPSBTREFUQSAocGF0
aG5hbWUpOwotICByZXR1cm4gKElTX0RJUkVDVE9SWV9TRVAgKHNbMF0pCi0JICB8fCAoU0NIQVJT
IChwYXRobmFtZSkgPiAyCi0JICAgICAgJiYgSVNfREVWSUNFX1NFUCAoc1sxXSkgJiYgSVNfRElS
RUNUT1JZX1NFUCAoc1syXSkpKTsKLX0KLQotREVGVU4gKCJsb2NhdGUtZmlsZS1pbnRlcm5hbCIs
IEZsb2NhdGVfZmlsZV9pbnRlcm5hbCwgU2xvY2F0ZV9maWxlX2ludGVybmFsLCAyLCA0LCAwLAor
REVGVU4gKCJsb2NhdGUtZmlsZS1pbnRlcm5hbCIsIEZsb2NhdGVfZmlsZV9pbnRlcm5hbCwgU2xv
Y2F0ZV9maWxlX2ludGVybmFsLCAyLCA1LCAwLAogICAgICAgIGRvYzogLyogU2VhcmNoIGZvciBG
SUxFTkFNRSB0aHJvdWdoIFBBVEguCiBSZXR1cm5zIHRoZSBmaWxlJ3MgbmFtZSBpbiBhYnNvbHV0
ZSBmb3JtLCBvciBuaWwgaWYgbm90IGZvdW5kLgogSWYgU1VGRklYRVMgaXMgbm9uLW5pbCwgaXQg
c2hvdWxkIGJlIGEgbGlzdCBvZiBzdWZmaXhlcyB0byBhcHBlbmQgdG8KQEAgLTE3OTcsMTIgKzE4
NDUsMjAgQEAgREVGVU4gKCJsb2NhdGUtZmlsZS1pbnRlcm5hbCIsIEZsb2NhdGVfZmlsZV9pbnRl
cm5hbCwgU2xvY2F0ZV9maWxlX2ludGVybmFsLCAyLAogSWYgbm9uLW5pbCwgUFJFRElDQVRFIGlz
IHVzZWQgaW5zdGVhZCBvZiBgZmlsZS1yZWFkYWJsZS1wJy4KIFBSRURJQ0FURSBjYW4gYWxzbyBi
ZSBhbiBpbnRlZ2VyIHRvIHBhc3MgdG8gdGhlIGZhY2Nlc3NhdCgyKSBmdW5jdGlvbiwKIGluIHdo
aWNoIGNhc2UgZmlsZS1uYW1lLWhhbmRsZXJzIGFyZSBpZ25vcmVkLgorTE9BRC1ISU5UUyBpcyBh
IGxpc3Qgc2FtZSBhcyBgbG9hZC1oaW50cycuCiBUaGlzIGZ1bmN0aW9uIHdpbGwgbm9ybWFsbHkg
c2tpcCBkaXJlY3Rvcmllcywgc28gaWYgeW91IHdhbnQgaXQgdG8gZmluZAogZGlyZWN0b3JpZXMs
IG1ha2Ugc3VyZSB0aGUgUFJFRElDQVRFIGZ1bmN0aW9uIHJldHVybnMgYGRpci1vaycgZm9yIHRo
ZW0uICAqLykKLSAgKExpc3BfT2JqZWN0IGZpbGVuYW1lLCBMaXNwX09iamVjdCBwYXRoLCBMaXNw
X09iamVjdCBzdWZmaXhlcywgTGlzcF9PYmplY3QgcHJlZGljYXRlKQorICAoTGlzcF9PYmplY3Qg
ZmlsZW5hbWUsIExpc3BfT2JqZWN0IHBhdGgsIExpc3BfT2JqZWN0IHN1ZmZpeGVzLCBMaXNwX09i
amVjdCBwcmVkaWNhdGUsCisgICBMaXNwX09iamVjdCBsb2FkX2hpbnRzKQogewotICBMaXNwX09i
amVjdCBmaWxlOwotICBpbnQgZmQgPSBvcGVucCAocGF0aCwgZmlsZW5hbWUsIHN1ZmZpeGVzLCAm
ZmlsZSwgcHJlZGljYXRlLCBmYWxzZSwgdHJ1ZSwKKyAgTGlzcF9PYmplY3QgZmlsZSwgZGlycyA9
IFFuaWw7CisgIGlmICghTklMUChsb2FkX2hpbnRzKSkKKyAgICBkaXJzID0gc2VhcmNoX2xvYWRf
aGludHMobG9hZF9oaW50cywgZmlsZW5hbWUpOworICBpZiAoTklMUChkaXJzKSkKKyAgICBkaXJz
ID0gcGF0aDsKKyAgZWxzZQorICAgIGRpcnMgPSBDQUxMTiAoRmFwcGVuZCwgZGlycywgcGF0aCk7
CisgIGludCBmZCA9IG9wZW5wIChkaXJzLCBmaWxlbmFtZSwgc3VmZml4ZXMsICZmaWxlLCBwcmVk
aWNhdGUsIGZhbHNlLCB0cnVlLAogCQkgIE5VTEwpOwogICBpZiAoTklMUCAocHJlZGljYXRlKSAm
JiBmZCA+PSAwKQogICAgIGVtYWNzX2Nsb3NlIChmZCk7CkBAIC0xODgyLDcgKzE5MzgsNyBAQCBt
YXliZV9zd2FwX2Zvcl9lbG4gKGJvb2wgbm9fbmF0aXZlLCBMaXNwX09iamVjdCAqZmlsZW5hbWUs
IGludCAqZmQsCiAJCSBjYW4ndCBmaW5kIGV2ZW4gY2VudHJhbCAuZWwgZmlsZXMuICAqLwogCSAg
ICAgIGlmIChOSUxQIChGbG9jYXRlX2ZpbGVfaW50ZXJuYWwgKGJ1aWxkX3N0cmluZyAoInNpbXBs
ZS5lbCIpLAogCQkJCQkgICAgICAgVmxvYWRfcGF0aCwKLQkJCQkJICAgICAgIFFuaWwsIFFuaWwp
KSkKKwkJCQkJICAgICAgIFFuaWwsIFFuaWwsIFFuaWwpKSkKIAkJcmV0dXJuOwogCSAgICAgIFZk
ZWxheWVkX3dhcm5pbmdzX2xpc3QKIAkJPSBGY29ucyAobGlzdDIKQEAgLTU4NTEsNiArNTkwNywx
MyBAQCBzeW1zX29mX2xyZWFkICh2b2lkKQogCSAgICAgICBkb2M6IC8qIE5vbi1uaWwgbWVhbnMg
cmVhZCByZWN1cnNpdmUgc3RydWN0dXJlcyB1c2luZyAjTj0gYW5kICNOIyBzeW50YXguICAqLyk7
CiAgIFZyZWFkX2NpcmNsZSA9IFF0OwogCisgIERFRlZBUl9MSVNQICgibG9hZC1oaW50cyIsIFZs
b2FkX2hpbnRzLAorCSAgICAgICBkb2M6IC8qIEEgbGlzdCBmb3IgbmFtZSB0byBkaXJlY3Rvcnkt
bGlzdCB0byBzZWFyY2ggZm9yIGZpbGVzCit0byBsb2FkLCBiZWZvcmUgdGhlIGxvYWQtcGF0aC4g
IEVhY2hlIGVudHJ5IGlzIGEgZmlsZSBuYW1lIHRvIGRpcmVjdG9yeSBsaXN0LAorZmlsZSBuYW1l
IGVuZHMgd2l0aCBhICcqJyBtZWFucyBwcmVmaXggbWF0Y2hpbmcuIEV4YW1wbGU6CisgICcoKCJu
YW1lMS0qIiAiL3BhdGgxIiAiL3BhdGgyIikpLiAgKi8pOworICBWbG9hZF9oaW50cyA9IFFuaWw7
CisKICAgREVGVkFSX0xJU1AgKCJsb2FkLXBhdGgiLCBWbG9hZF9wYXRoLAogCSAgICAgICBkb2M6
IC8qIExpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIGZvciBmaWxlcyB0byBsb2FkLgogRWFj
aCBlbGVtZW50IGlzIGEgc3RyaW5nIChkaXJlY3RvcnkgZmlsZSBuYW1lKSBvciBuaWwgKG1lYW5p
bmcKLS0gCjIuMzQuMQoK
--000000000000be3e640625020367
Content-Type: text/x-patch; charset="US-ASCII"; 
	name="0002-lisp-emacs-lisp-package.el-Support-the-load-hints.patch"
Content-Disposition: attachment; 
	filename="0002-lisp-emacs-lisp-package.el-Support-the-load-hints.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m2jfpsog0>
X-Attachment-Id: f_m2jfpsog0

RnJvbSA0ZWZiM2I2ODllZjZmOTdjYWI4MmU1YjM0Y2Y5ZGFiYzNmM2Q3ZWUwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBMaW4gU3VuIDxzdW5saW43QGhvdG1haWwuY29tPgpEYXRlOiBT
YXQsIDE5IE9jdCAyMDI0IDA2OjQzOjE1ICswMDAwClN1YmplY3Q6IFtQQVRDSCAyLzJdICogbGlz
cC9lbWFjcy1saXNwL3BhY2thZ2UuZWw6IFN1cHBvcnQgdGhlIGxvYWQtaGludHMKCi0tLQogbGlz
cC9lbWFjcy1saXNwL3BhY2thZ2UuZWwgfCA3OSArKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9u
cygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvZW1hY3MtbGlzcC9wYWNrYWdlLmVsIGIvbGlzcC9lbWFj
cy1saXNwL3BhY2thZ2UuZWwKaW5kZXggOTBkNjE1MGVkMGIuLjFjNGQ0N2I3MWYyIDEwMDY0NAot
LS0gYS9saXNwL2VtYWNzLWxpc3AvcGFja2FnZS5lbAorKysgYi9saXNwL2VtYWNzLWxpc3AvcGFj
a2FnZS5lbApAQCAtMjA4LDYgKzIwOCwyMiBAQCBwYWNrYWdlLWxvYWQtbGlzdAogICA6cmlza3kg
dAogICA6dmVyc2lvbiAiMjQuMSIpCiAKKyhkZWZjdXN0b20gcGFja2FnZS1lbmFibGUtbG9hZC1o
aW50cyB0CisgICJOb24tbmlsIG1lYW5zIGVuYWJsZSB0aGUgYGxvYWQtaGludHMnIGZvciB0aGUg
cGFja2FnZXMuCisKK1RoZSB2YWx1ZSBjYW4gYmUgb25lIG9mOgorCisgIHQgICAgICAgICAgICAg
QWRkIHBhY2thZ2UgZGlyIGludG8gYm90aCBgbG9hZC1oaW50cycgYW5kIGBsb2FkLXBhdGgnLgor
CisgIGBhZ2dyZXNzaXZlJyAgSWYgYWxsIGZpbGVzIGluIGEgcGFja2FnZSBkaXIgd2VyZSBjb3Zl
cmVkIGJ5IHRoZSBgbG9hZC1oaW50cycKKyAgICAgICAgICAgICAgICB0aGVuIHdpbGwgbm90IGFk
ZCB0aGUgcGFja2FnZSBkaXIgaW50byBgbG9hZC1wYXRoJy4KKworICBuaWwgICAgICAgICAgIERv
bid0IHVzZWQgdGhlIGBsb2FkLWhpbnRzJy4iCisgIDp0eXBlICcoY2hvaWNlIChjb25zdCA6dmFs
dWUgbmlsICAgICAgICAgICAgOnRhZyAiRGlzYWJsZSIpCisgICAgICAgICAgICAgICAgIChjb25z
dCA6dmFsdWUgdCAgICAgICAgICAgICAgOnRhZyAiRW5hYmxlKHNhZmUpIikKKyAgICAgICAgICAg
ICAgICAgKGNvbnN0IDp2YWx1ZSBhZ2dyZXNzaXZlICAgICA6dGFnICJFbmFibGUoYWdyZXNzaXZl
KSIpKQorICA6dmVyc2lvbiAiMzEuMSIpCisKIChkZWZjdXN0b20gcGFja2FnZS1hcmNoaXZlcyBg
KCgiZ251IiAuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLChmb3JtYXQgImh0dHAl
czovL2VscGEuZ251Lm9yZy9wYWNrYWdlcy8iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKGlmIChnbnV0bHMtYXZhaWxhYmxlLXApICJzIiAiIikpKQpAQCAtMTA5NSwy
MSArMTExMSw1OCBAQCBwYWNrYWdlLWdlbmVyYXRlLWF1dG9sb2FkcwogICAgICAgICAgOzsgV2Ug
ZG9uJ3QgbmVlZCAnZW0sIGFuZCB0aGlzIG1ha2VzIHRoZSBvdXRwdXQgcmVwcm9kdWNpYmxlLgog
ICAgICAgICAgKGF1dG9sb2FkLXRpbWVzdGFtcHMgbmlsKQogICAgICAgICAgKGJhY2t1cC1pbmhp
Yml0ZWQgdCkKLSAgICAgICAgICh2ZXJzaW9uLWNvbnRyb2wgJ25ldmVyKSkKKyAgICAgICAgICh2
ZXJzaW9uLWNvbnRyb2wgJ25ldmVyKQorICAgICAgICAgaGludHMtbGlzdCBoaW50cy1jb3ZlcmVk
LWFsbCkKKyAgICA7OyBpZiBwYWNrYWdlLWVuYWJsZWQtbG9hZC1oaW50cyBpcyBub24tbmlsIHRo
ZW4gY29sbGVjdGluZyBsb2FkYWJsZQorICAgIDs7IGZpbGVzIGluIHBrZy1kaXIgYW5kIGdlbmVy
YXRpbmcgdGhlIGxvYWQtaGludHMgbGlzdC4KKyAgICAod2hlbi1sZXQqIChwYWNrYWdlLWVuYWJs
ZS1sb2FkLWhpbnRzCisgICAgICAgICAgICAgICAgKG5hbWUgKHN5bWJvbC1uYW1lIG5hbWUpKQor
ICAgICAgICAgICAgICAgIChmaWxlcyAoY2wtc2V0LWRpZmZlcmVuY2UgKGRpcmVjdG9yeS1maWxl
cyBwa2ctZGlyKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygi
LiIgIi4uIikgOnRlc3QgIydzdHJpbmc9KSkKKyAgICAgICAgICAgICAgICA7OyBsaXN0IG9mIGZp
bGVzIGJhc2VuYW1lLCB0aGUgbG9hZC1zdWZmaXhlcyB3YXMgcmVtb3ZlZAorICAgICAgICAgICAg
ICAgIChiYXNlcworICAgICAgICAgICAgICAgICAocmVtb3ZlIG5pbAorICAgICAgICAgICAgICAg
ICAgICAgICAgIChtYXBjYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoZikK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2wtc29tZQorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAobGFtYmRhIChzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChp
Zi1sZXQqICgobiAobGVuZ3RoIHMpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAoKGxlbmd0aD4gZiBuKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKChzdHJpbmc9IHMgKHN1YnN0cmluZyBmICgtIG4pKSkpKQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RyaW5nIGYgMCAoLSBuKSkpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoZ2V0LWxvYWQtc3VmZml4ZXMpKSkKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgZmlsZXMpKSkpCisgICAgICAoc2V0cSBoaW50cy1jb3ZlcmVkLWFsbCAobGVu
Z3RoPSBiYXNlcyAobGVuZ3RoIGZpbGVzKSkKKyAgICAgICAgICAgIGhpbnRzLWxpc3QKKyAgICAg
ICAgICAgIChjbC1yZW1vdmUtZHVwbGljYXRlcworICAgICAgICAgICAgIChtYXBjYXIgKGxhbWJk
YSAocykKKyAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdCAiKGFkZC10by1saXN0ICdsb2Fk
LWhpbnRzICcoJVMgJVMpKSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWYgKHN0
cmluZy1wcmVmaXgtcCBuYW1lIHMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IChjb25jYXQgbmFtZSAiKiIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzKQor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZy1kaXIpKQorICAgICAgICAgICAgICAg
ICAgICAgYmFzZXMpCisgICAgICAgICAgICAgOnRlc3QgJ3N0cmluZz0pKSkKICAgICAobG9hZGRl
ZnMtZ2VuZXJhdGUKICAgICAgcGtnLWRpciBvdXRwdXQtZmlsZSBuaWwKLSAgICAgKHByaW4xLXRv
LXN0cmluZwotICAgICAgJyhhZGQtdG8tbGlzdAotICAgICAgICAnbG9hZC1wYXRoCi0gICAgICAg
IDs7IEFkZCB0aGUgZGlyZWN0b3J5IHRoYXQgd2lsbCBjb250YWluIHRoZSBhdXRvbG9hZCBmaWxl
IHRvCi0gICAgICAgIDs7IHRoZSBsb2FkIHBhdGguICBXZSBkb24ndCBoYXJkLWNvZGUgYHBrZy1k
aXInLCB0byBhdm9pZAotICAgICAgICA7OyBpc3N1ZXMgaWYgdGhlIHBhY2thZ2UgZGlyZWN0b3J5
IGlzIG1vdmVkIGFyb3VuZC4KLSAgICAgICAgOzsgYGxvYWRkZWZzLWdlbmVyYXRlJyBoYXMgY29k
ZSB0byBkbyB0aGlzIGZvciB1cywgYnV0IGl0J3MKLSAgICAgICAgOzsgbm90IGN1cnJlbnRseSBl
eHBvc2VkLiAgKEJ1ZyM2MzYyNSkKLSAgICAgICAgKG9yIChhbmQgbG9hZC1maWxlLW5hbWUKLSAg
ICAgICAgICAgICAgICAgKGRpcmVjdG9yeS1maWxlLW5hbWUKLSAgICAgICAgICAgICAgICAgIChm
aWxlLW5hbWUtZGlyZWN0b3J5IGxvYWQtZmlsZS1uYW1lKSkpCi0gICAgICAgICAgICAgKGNhciBs
b2FkLXBhdGgpKSkpKQorICAgICAoY29uY2F0CisgICAgICAod2hlbiBoaW50cy1saXN0CisgICAg
ICAgIChzdHJpbmctam9pbiBoaW50cy1saXN0ICJcbiIpKQorICAgICAgIlxuIgorICAgICAgKHVu
bGVzcyAoYW5kIGhpbnRzLWNvdmVyZWQtYWxsCisgICAgICAgICAgICAgICAgICAgKGVxIHBhY2th
Z2UtZW5hYmxlLWxvYWQtaGludHMgJ2FnZ3Jlc3NpdmUpKQorICAgICAgICAocHJpbjEtdG8tc3Ry
aW5nCisgICAgICAgICAnKGFkZC10by1saXN0CisgICAgICAgICAgICdsb2FkLXBhdGgKKyAgICAg
ICAgICAgOzsgQWRkIHRoZSBkaXJlY3RvcnkgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIGF1dG9sb2Fk
IGZpbGUgdG8KKyAgICAgICAgICAgOzsgdGhlIGxvYWQgcGF0aC4gIFdlIGRvbid0IGhhcmQtY29k
ZSBgcGtnLWRpcicsIHRvIGF2b2lkCisgICAgICAgICAgIDs7IGlzc3VlcyBpZiB0aGUgcGFja2Fn
ZSBkaXJlY3RvcnkgaXMgbW92ZWQgYXJvdW5kLgorICAgICAgICAgICA7OyBgbG9hZGRlZnMtZ2Vu
ZXJhdGUnIGhhcyBjb2RlIHRvIGRvIHRoaXMgZm9yIHVzLCBidXQgaXQncworICAgICAgICAgICA7
OyBub3QgY3VycmVudGx5IGV4cG9zZWQuICAoQnVnIzYzNjI1KQorICAgICAgICAgICAob3IgKGFu
ZCBsb2FkLWZpbGUtbmFtZQorICAgICAgICAgICAgICAgICAgICAoZGlyZWN0b3J5LWZpbGUtbmFt
ZQorICAgICAgICAgICAgICAgICAgICAgKGZpbGUtbmFtZS1kaXJlY3RvcnkgbG9hZC1maWxlLW5h
bWUpKSkKKyAgICAgICAgICAgICAgIChjYXIgbG9hZC1wYXRoKSkpKSkpKQogICAgIChsZXQgKChi
dWYgKGZpbmQtYnVmZmVyLXZpc2l0aW5nIG91dHB1dC1maWxlKSkpCiAgICAgICAod2hlbiBidWYg
KGtpbGwtYnVmZmVyIGJ1ZikpKQogICAgIGF1dG8tbmFtZSkpCi0tIAoyLjM0LjEKCg==
--000000000000be3e640625020367--




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Thu, 31 Oct 2024 15:05:02 +0000
Resent-Message-ID: <handler.41646.B41646.173038709814803 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173038709814803
          (code B ref 41646); Thu, 31 Oct 2024 15:05:02 +0000
Received: (at 41646) by debbugs.gnu.org; 31 Oct 2024 15:04:58 +0000
Received: from localhost ([127.0.0.1]:42512 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6WjK-0003qe-4N
	for submit <at> debbugs.gnu.org; Thu, 31 Oct 2024 11:04:58 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:43661)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1t6WjH-0003qY-Sf
 for 41646 <at> debbugs.gnu.org; Thu, 31 Oct 2024 11:04:56 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id 0638580964;
 Thu, 31 Oct 2024 11:04:50 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1730387088;
 bh=5H5b2Fzda8Sjex/KPCqQTgFBg8XLGIVTEJ+XYxqnKIY=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=EI7WaUE0WsU4X3KK6piaGyt3nSFsHismJjGbnFvS5MtREOIXctjYebbW740qCrkV9
 dLlHpThdjjBx1nEO4PW3g1AlUzMl5JEyAsWvavV9T1aYto6RigFMNBUsaZ3msITdMh
 O+jfN+wkEVWzfHrn7zJEfdn3j4+WD/DZ6E+wOSGL4lOHGnqvwcSh6sdz0B90Q8HETM
 TaM9/FeWalV7ZMLFgp0XWvx8H+Fp13TAPd/Qdnryk/+IUAoOBvl/aptOK4rU8AgGUh
 4vU3SHLwVSjj9UhBKwdGTlCuftsct5REKainZmz7q4QpONsG1AVBIz7spXhmdWDyUi
 Dx2cI5WxDMctQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id DCBB180187;
 Thu, 31 Oct 2024 11:04:48 -0400 (EDT)
Received: from alfajor (unknown [38.133.22.166])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 9A3981204D5;
 Thu, 31 Oct 2024 11:04:48 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 (Lin Sun's message of "Mon, 21 Oct 2024 17:11:17 +0000")
Message-ID: <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
Date: Thu, 31 Oct 2024 11:04:43 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

>> The downside is that it can break existing setups for users who use
>> `package.el` but also modify their `load-path` "by hand" in the
>> init file, and it doesn't help users who don't use `package.el`.
> The `load-hints' do nothing with its default value nil.

No, but if `package.el` adds elements to `load-hints` and then in your
init file you add more elements to `load-path`, the `load-hints` may end
up taking precedence over the new elements of `load-path` in some cases
and thus change which file shadows which.

> I had checked the radix-tree at the beginning, it's not user-friendly,
> or it's not easy to dump the radix tree for an end user to understand
> which is obviously matching the entry or not.

You're not "supposed" to look at the representation of the radix tree,
indeed (unless you're working on `radix-tree.el`, of course).
Feel free to ask for help using it.

> The `load-hints' in the list are easy to understand / maintain by the
> end user.

I don't think we need to burden end users with load hints.

>> But your prefix idea makes me think maybe we can aim for a significantly
>> smaller table, where we basically record only one entry per
>> package/directory, like for "~/.emacs.d/elpa/helm-core-VERSION/" we just
>> record "helm" because all the `.el` files share the "helm" prefix.
>> I.e. keep for each dir the corresponding longest-common-prefix.
>> If we're careful to consider only those files with a `.el` suffix, then
>> I think we can reduce the hint to such a longest-common-prefix.  I.e. an
>> info which doesn't say just "you can find FOO* files here" but "you can
>> find *only* FOO* files here".
>
> I had searched all 200+ packages in my test env, most of the packages
> use their feature name as the prefix, only 11 packages have
> exceptions. But I didn't understand how it works toward the
> `load-hints'.

Here's the idea: the `<PKG>-autoloads.el` file can registers the longest
common prefix of all the `.el` files for its own `load-path` entry, with
say:

    (load-prefix-register <DIR> <PREFIX>)

where we'd define this function along the lines of

    (defconst load-prefix-directories (make-hash-table :test 'equal))
      "Set of entries from `load-path` for which we have prefix info.")

    (defconst load-prefix-map radix-tree-empty
      "Table associating file prefixes to directories.")

    (defun load-prefix-register (dir prefix)
      (puthash dir t load-prefix-directories)
      (let ((dirs (radix-tree-lookup load-prefix-map prefix)))
        (unless (member dir dirs)
          (setq load-prefix-map (radix-tree-insert load-prefix-map prefix
                                                   (cons dir dirs))))))

    (defun load-prefix-trim-load-path (file)
      "Return a trimmed `load-path` to use for FILE."
      (if (file-name-directory file)
          ;; If there's a `/` in FILE, fallback on the safe default.
          load-path
        (let* ((prefixes (radix-tree-prefixes load-prefix-map file))
               (dirs (apply #'append (mapcar #'cdr prefixes))))
          ;; Remove from `load-path` the entries which can't possibly
          ;; have FILE because their prefixes doesn't match.
          (cl-remove-if (lambda (dir)
                          (and (gethash dir load-prefix-directories)
                               (not (member dir dirs))))
                        load-path))))

and then `load` can use `load-prefix-trim-load-path` to iterate on
a much shorter `load-path`.

I'm not completely sure if it's a good idea, tho: I'd really prefer
a solution that doesn't require any change to any package management
code, which instead uses a cache (updated/filled automatically) of all
the files found in all the `load-path` directories.

>> Is that with or without using `package-quickstart`?
> The `package-quickstart' does not help in this scenario,

AFAICT your scenario includes Emacs startup with packages installed, so
`package-quickstart' can definitely make a difference.  But maybe you're
right that it will affect both cases equally.

>> Similarly, I wasn't able to convince myself that your patch does the
>> right thing when `require` or `load` is used such that MUST_SUFFIX is
>> not specified.
> The `load-hints` just put the matched paths on the top of `load-path`,
> still following the `load-path' mechanism, and won't affect any other
> features (Or someone already has some code to adjust the `load-path'
> orders, can just ignore the `load-hints', everything work like before,
> no break changes).

But if FOO is in one dir and FOO.el is in another dir, adding entries
to the load path can change which file we end up loading.


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 07:20:02 +0000
Resent-Message-ID: <handler.41646.B41646.173044557221338 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Stefan Monnier <monnier@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173044557221338
          (code B ref 41646); Fri, 01 Nov 2024 07:20:02 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 07:19:32 +0000
Received: from localhost ([127.0.0.1]:47394 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6lwR-0005Y6-Pj
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 03:19:32 -0400
Received: from mail-ej1-f45.google.com ([209.85.218.45]:52557)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t6lwP-0005Xv-5n
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 03:19:30 -0400
Received: by mail-ej1-f45.google.com with SMTP id
 a640c23a62f3a-a9a5f555cfbso113230366b.1
 for <41646 <at> debbugs.gnu.org>; Fri, 01 Nov 2024 00:19:29 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730445503; x=1731050303; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=Hg5Ouhcus2xbD99hSCPDGXHUMKEnk1b9kCs8DDUb69c=;
 b=jpmAcGDbPbpII0pBdKEx0KSKG9aWujTVlZ7J3aiKV3ms9bdgsCOPjgjG5HIiz+oiBF
 kiWH5Tj7Ty8xFdjpA5ZjZfgqe0SQZ+ot7Tbo3Hrpr/gbjEWHMufScI49aSY/1m9XotVK
 ks+3c3GyuUWrNnqCMgjFQZ7N1rYuHY1VXIkbeAJFt9cVpNcfgga9zSe8/79OIsTZU5Bu
 /TftPa8h5yjSm7pQ3gQJn7fK7ZM9/cjVYzMyDXwdR/+wWztepo62f5/upVRyCrJBX5cx
 MTgaWUr19nbjeAUsJcJDcZmd33EUal4yz1K3klPwvcXoj1yFGeqIRuYxtiwNwjKeM3Il
 jcrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730445503; x=1731050303;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=Hg5Ouhcus2xbD99hSCPDGXHUMKEnk1b9kCs8DDUb69c=;
 b=C3oR+qFDGl/ngSZAr6hi1SJBgAkMW1+AxaI5GIolGUg02YeX1xX2aWgGjt2w4UqUf/
 v1N/cSwu5Dz4hOSZrcpBVi3rDVWPKo1aOHq4qAFGc7p2CC7sZO2ffBLuNgUulOUUPvEZ
 rmAZFIXL9iZlHOoTGY3ZpaSVIpmtcULsq18HB2Ldt6n8scA7enOcQG25cIAISPZWMW3d
 CpyixF3+Kzp+YimjhmrGBXR0j1ytH6I4NDThtoQWuxMpMZw9nok01FeNzNgGkOfzJskC
 sEP9+56mJZDMky8SRx9At3c5rZVBE5kxw6fmF2KC8J+zTQTLcFDkzi3ROulLudUl6FrC
 m89w==
X-Forwarded-Encrypted: i=1;
 AJvYcCX/jFYIxksxC3qjF8nYUolYLeSIcwTU0++BN7vYZghT8VFlKaWHGPmST9DDiJEEOoJU1yyuVQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yz4r8aDdqolCen/ttOMktGJKMeIXT9NMS2Q0yQ82d7KENLx5Xc/
 7t+/tzp/pPo0PpOqgmPUMn9xzUkxd2DjMukeIrV5+Jn37Bmq060+FhzmtiP0C4Q388x/0e80+hT
 6ZIbfzw1AGcymXRDgL5QQi5IMiaM=
X-Google-Smtp-Source: AGHT+IEZ6uNr4317eF2SjSkZjEGqrvTGFXYlkeqN4t3MCSRSLtD0W1caFK2U+Kh5Ag/wCacXa8E7bA3GsWGA8zE5FTo=
X-Received: by 2002:a05:6402:4308:b0:5c9:34b4:69a8 with SMTP id
 4fb4d7f45d1cf-5ceb923ee52mr2165010a12.6.1730445502632; Fri, 01 Nov 2024
 00:18:22 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Fri, 1 Nov 2024 07:18:11 +0000
Message-ID: <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 (-)

On Thu, Oct 31, 2024 at 3:04=E2=80=AFPM Stefan Monnier <monnier@HIDDEN=
al.ca> wrote:
>
> >> The downside is that it can break existing setups for users who use
> >> `package.el` but also modify their `load-path` "by hand" in the
> >> init file, and it doesn't help users who don't use `package.el`.
> > The `load-hints' do nothing with its default value nil.
>
> No, but if `package.el` adds elements to `load-hints` and then in your
> init file you add more elements to `load-path`, the `load-hints` may end
> up taking precedence over the new elements of `load-path` in some cases
> and thus change which file shadows which.

Yes, introducing this new variable will increase the complexity to the end =
user.

> > I had checked the radix-tree at the beginning, it's not user-friendly,
> > or it's not easy to dump the radix tree for an end user to understand
> > which is obviously matching the entry or not.
>
> You're not "supposed" to look at the representation of the radix tree,
> indeed (unless you're working on `radix-tree.el`, of course).
> Feel free to ask for help using it.
>
> > The `load-hints' in the list are easy to understand / maintain by the
> > end user.
>
> I don't think we need to burden end users with load hints.
>
> >> But your prefix idea makes me think maybe we can aim for a significant=
ly
> >> smaller table, where we basically record only one entry per
> >> package/directory, like for "~/.emacs.d/elpa/helm-core-VERSION/" we ju=
st
> >> record "helm" because all the `.el` files share the "helm" prefix.
> >> I.e. keep for each dir the corresponding longest-common-prefix.
> >> If we're careful to consider only those files with a `.el` suffix, the=
n
> >> I think we can reduce the hint to such a longest-common-prefix.  I.e. =
an
> >> info which doesn't say just "you can find FOO* files here" but "you ca=
n
> >> find *only* FOO* files here".
> >
> > I had searched all 200+ packages in my test env, most of the packages
> > use their feature name as the prefix, only 11 packages have
> > exceptions. But I didn't understand how it works toward the
> > `load-hints'.
>
> Here's the idea: the `<PKG>-autoloads.el` file can registers the longest
> common prefix of all the `.el` files for its own `load-path` entry, with
> say:
>
>     (load-prefix-register <DIR> <PREFIX>)
>
> where we'd define this function along the lines of
>
>     (defconst load-prefix-directories (make-hash-table :test 'equal))
>       "Set of entries from `load-path` for which we have prefix info.")
>
>     (defconst load-prefix-map radix-tree-empty
>       "Table associating file prefixes to directories.")
>
>     (defun load-prefix-register (dir prefix)
>       (puthash dir t load-prefix-directories)
>       (let ((dirs (radix-tree-lookup load-prefix-map prefix)))
>         (unless (member dir dirs)
>           (setq load-prefix-map (radix-tree-insert load-prefix-map prefix
>                                                    (cons dir dirs))))))
>
>     (defun load-prefix-trim-load-path (file)
>       "Return a trimmed `load-path` to use for FILE."
>       (if (file-name-directory file)
>           ;; If there's a `/` in FILE, fallback on the safe default.
>           load-path
>         (let* ((prefixes (radix-tree-prefixes load-prefix-map file))
>                (dirs (apply #'append (mapcar #'cdr prefixes))))
>           ;; Remove from `load-path` the entries which can't possibly
>           ;; have FILE because their prefixes doesn't match.
>           (cl-remove-if (lambda (dir)
>                           (and (gethash dir load-prefix-directories)
>                                (not (member dir dirs))))
>                         load-path))))
>
> and then `load` can use `load-prefix-trim-load-path` to iterate on
> a much shorter `load-path`.
>
> I'm not completely sure if it's a good idea, tho: I'd really prefer
> a solution that doesn't require any change to any package management
> code, which instead uses a cache (updated/filled automatically) of all
> the files found in all the `load-path` directories.

If that, we have to track the file/path changes in each entry of
load-path, it may not be possible for all the supported OSs.

> >> Is that with or without using `package-quickstart`?
> > The `package-quickstart' does not help in this scenario,
>
> AFAICT your scenario includes Emacs startup with packages installed, so
> `package-quickstart' can definitely make a difference.  But maybe you're
> right that it will affect both cases equally.

I had tried the package-quickstart, it does NOT help on windows, like
after load the quickstart.el, it will add all the packages directories
into the load-path, the load-path may have ~300 entries, then a simple
"(require 'org)" will trigger the emacs walk on the load-path one by
one to try open (org.so, org.so.gz, org.elc, org.elc.gz, org.el,
org.el.gz) for 6 times, while the org actually is on the bottom of
load-path, so the emacs tried near 1800 (300x6) times to load one org
file (its depends need similar counts), on windows systems, it's very
slow.

> >> Similarly, I wasn't able to convince myself that your patch does the
> >> right thing when `require` or `load` is used such that MUST_SUFFIX is
> >> not specified.
> > The `load-hints` just put the matched paths on the top of `load-path`,
> > still following the `load-path' mechanism, and won't affect any other
> > features (Or someone already has some code to adjust the `load-path'
> > orders, can just ignore the `load-hints', everything work like before,
> > no break changes).
>
> But if FOO is in one dir and FOO.el is in another dir, adding entries
> to the load path can change which file we end up loading.

Yeh, that may happen, and the end user will get confused.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 07:51:01 +0000
Resent-Message-ID: <handler.41646.B41646.173044742025667 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Stefan Monnier <monnier@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173044742025667
          (code B ref 41646); Fri, 01 Nov 2024 07:51:01 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 07:50:20 +0000
Received: from localhost ([127.0.0.1]:47587 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6mQF-0006fv-SH
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 03:50:20 -0400
Received: from mail-ed1-f50.google.com ([209.85.208.50]:42171)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t6mQD-0006fh-6p
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 03:50:18 -0400
Received: by mail-ed1-f50.google.com with SMTP id
 4fb4d7f45d1cf-5c40aea5c40so2988369a12.0
 for <41646 <at> debbugs.gnu.org>; Fri, 01 Nov 2024 00:50:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730447351; x=1731052151; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=9lkvQAVYlLU2fnfie8ZhQZdoOPTHJM3dvmqYBLs+bHY=;
 b=F+8TekPGrixD8XgzgBcwltF5u8xACDhKEw5bmRRMoaWZrpWaJbqeWblc6wVAtQqANq
 0ZhcyvfNdnWyQNehYn971Hin4+ysxOs6CiqQEZn8J8ErTT/1XCYdQOJCJusk3bpAQtbF
 ynxP3s9J+RXUyts0Uvjs4DclpvGCGupKtAFN+Bc2vv6B/i7ePs7HVgj3CTzpvsbIsLI0
 iSsgUAbOtEQaB4WrPsBOnNH6YnIDNVkZ2bWpNUjshk9zSylcjyop7ZsN2IYcce+wEEvR
 X6rERQNlf4/kcLrPqhruxHSHUDU9gQJQkMeRSNkcxNI/7lARMvFIoaBRsXCvy7nc58a4
 OYvg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730447351; x=1731052151;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=9lkvQAVYlLU2fnfie8ZhQZdoOPTHJM3dvmqYBLs+bHY=;
 b=CaVbfA/NJ8Nj8qKaKPgGEajkrKLkuduoCOl8Ft0WhJJ67N6xkaUARDuOxjtnrC+nnt
 KSlQQCh6M3UHr/B/wbggMzVgVc05Ji/XvtaBYE+axw4Xc6q4Uv1GrfqyeocM4YIy5g51
 tLXW1JWMgIwos7UX9wbNVuvDrAKdgEDgtNSbejk+9jOEb0blZlrLjWxUO+ypvTWgpDPF
 mGr+SXcU5IYMxqvF3prvX+ePcR93Mv9/2Z6qFueOR4zXG2UdJoTKEpEW/k9EDYNCDNSA
 iOjw4zRqvwleup3d7xOfHVVZAaa6UNSKJkv7/t/8WW8TldktdwQMnYYOv+jo/kQsta4b
 3h3g==
X-Forwarded-Encrypted: i=1;
 AJvYcCW2mY/mlrAhLM0iE5W72lmKNRyKlWsXW40uHXLZFQ+6oxtrUZ+H+QpGLSwMBh/AAPORdLEgWQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyGtBpsFjVzHih5RgTfe/0SzsKEzwOQd7MAMEza71TcyADMm1Og
 plxE8XE9FHGwsA+fVT4gsTiWy8jb9re777MwvI14aXg9nBuCpwCjOxgu1yMw8BdeRMYfmU/RvSg
 C9A68INiKOPmpYgGRdvCVFEyNoOY=
X-Google-Smtp-Source: AGHT+IGiBgUUwwp+XyPEIFw6wN6uy0WlZ2iwJRT2lkN/xgC22bl/2Lw7cwC02R4wFIQ/dbLnm+DwtipS6Z57q7dbmEg=
X-Received: by 2002:a05:6402:28c8:b0:5cb:68c7:879d with SMTP id
 4fb4d7f45d1cf-5ceb8e1feb5mr2263640a12.19.1730447351259; Fri, 01 Nov 2024
 00:49:11 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
In-Reply-To: <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Fri, 1 Nov 2024 07:49:00 +0000
Message-ID: <CABCREdrb1jU_nxrOxhKvxgHbGM+eAPWrSZ3_+C=PnNEb3N8gQQ@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 Eli, Stefan,

To speedup the Emacs (especially for emacs on windows), the key point
is reducing the opening file attempts.

I have two options,

1. Add a new variable like "load-hints", it holds the file list for
directories, may be organized in radix-tree or simple list.

But it may break the exists behavior, confusing the end user  on
load-hints/load-path.  Or

2. extend the load-path to be a directory with its file list. That
means one "load-path" entry can be a string to represent a directory
path, or a directory with its files. Here is an example as below, the
first entry is a list, path1 and its loadable files (without
extensions); the second entry is a string for path, a traditional
entry of "load-path".

'( ("<path1>" "file1" "file2)
   "<path2>")

It works on "load-path", compatible with traditional "load-path".

So, the first option will introduce a new variable, which may affect
existing "load-path"; the second option will extend the "load-path",
no new variable, but maybe not compatible with some existing code.

Please comment on the option, and if we agree on one of the options,
I'll work on it. Thanks




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 08:18:01 +0000
Resent-Message-ID: <handler.41646.B41646.173044906029296 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: monnier@HIDDEN, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, monnier@HIDDEN, stefankangas@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173044906029296
          (code B ref 41646); Fri, 01 Nov 2024 08:18:01 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 08:17:40 +0000
Received: from localhost ([127.0.0.1]:47757 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6mqi-0007cQ-CL
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 04:17:40 -0400
Received: from eggs.gnu.org ([209.51.188.92]:38772)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1t6mqf-0007cE-N9
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 04:17:38 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1t6mqZ-0001av-Du; Fri, 01 Nov 2024 04:17:31 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=WycXSjPkLCROb+/7KP19wqbY7a/+hm3YbnjSanAcUOQ=; b=O1Jw9H7jNVKL
 KCNtlyx2PcJuAQPrshyeB6eDlFbr097Nigm1gt525zhh5PGmpd07HETEEiljRLpq3fK7Ygz8nK2sV
 jkTH9GVW6czgFvOy22O4IDMKAqoYDZEhYBAhcQZ7JJBhS5+nWlB5v3QOcyCLNEiVp/dD197q+gSn+
 25d2Ex4HGGV2PzsD74ITnYjDA5ocKsv+iHpY7W6sL+97v9KHz1nrbpjVASKOVR9r322hJNHxz5fag
 76jJftpfJc261v7yHDU9im0ZAAJGkpullCzohiVuKIeZM3YzgyVv+TG4Vo6cVBdLf4/WH5uotw72S
 A67LnYkOX/CQbD9RntFc5g==;
Date: Fri, 01 Nov 2024 10:17:29 +0200
Message-Id: <86ed3v1i7a.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CABCREdrb1jU_nxrOxhKvxgHbGM+eAPWrSZ3_+C=PnNEb3N8gQQ@HIDDEN>
 (message from Lin Sun on Fri, 1 Nov 2024 07:49:00 +0000)
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <CABCREdrb1jU_nxrOxhKvxgHbGM+eAPWrSZ3_+C=PnNEb3N8gQQ@HIDDEN>
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Lin Sun <sunlin7.mail@HIDDEN>
> Date: Fri, 1 Nov 2024 07:49:00 +0000
> Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, acorallo@HIDDEN, 
> 	41646 <at> debbugs.gnu.org, monnier@HIDDEN
> 
> 2. extend the load-path to be a directory with its file list. That
> means one "load-path" entry can be a string to represent a directory
> path, or a directory with its files. Here is an example as below, the
> first entry is a list, path1 and its loadable files (without
> extensions); the second entry is a string for path, a traditional
> entry of "load-path".
> 
> '( ("<path1>" "file1" "file2)
>    "<path2>")

How will the '"file1" "file2" ...' part be created?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 13:12:01 +0000
Resent-Message-ID: <handler.41646.B41646.17304666961567 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17304666961567
          (code B ref 41646); Fri, 01 Nov 2024 13:12:01 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 13:11:36 +0000
Received: from localhost ([127.0.0.1]:49398 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6rRA-0000PC-BA
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 09:11:36 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:36324)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1t6rR8-0000P2-Hy
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 09:11:35 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 91CAA442217;
 Fri,  1 Nov 2024 09:11:27 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1730466685;
 bh=1/HxO/ZqzBvO0kw1CfL4t/GeZ3oq5hWcTIOBEjrjzhw=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=DfzfsW9HC9Qbecr+QQ1yZAlLz4ZKMlg7WEM5MrUszKMM+2gecGaTktsX9cfKvlGhs
 +PgLk/N5f/1wEjdb6F2fwvjq8RuMMWym0s7gcPsfMXlLX0Bj7mX2MllYj8y2ZWJpaR
 sP7yheZgrcOGLRjKyUHc4Rz12yf2tzlUvZQ+wG9+qI+nqKr2HYy+4Cxl7zkyovuCbJ
 g5pmwJLxiRa03MQNA18+eKpOYbR+vU+HOnGpA2XPHAHnG9V4eHojNH4U7Qh7yXjNLy
 e+XfA+2OdY1aAiSqnUDmCdGCxO7wQCwn/bH/m9KXimYRpeCw/B4A0zk6qm+7h9c+7U
 hv8ZIGHEdeWkg==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id D02AE441968;
 Fri,  1 Nov 2024 09:11:25 -0400 (EDT)
Received: from pastel (104-195-225-43.cpe.teksavvy.com [104.195.225.43])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 8757E120403;
 Fri,  1 Nov 2024 09:11:25 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 (Lin Sun's message of "Fri, 1 Nov 2024 07:18:11 +0000")
Message-ID: <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
Date: Fri, 01 Nov 2024 09:11:24 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.016 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> Yes, introducing this new variable will increase the complexity to the
> end user.

Exactly, and I think we should first try to solve the problem without
exposing the user to such complexity.

>> Here's the idea: the `<PKG>-autoloads.el` file can registers the longest
>> common prefix of all the `.el` files for its own `load-path` entry, with
>> say:
>>
>>     (load-prefix-register <DIR> <PREFIX>)
>>
>> where we'd define this function along the lines of
>>
>>     (defconst load-prefix-directories (make-hash-table :test 'equal))
>>       "Set of entries from `load-path` for which we have prefix info.")
>>
>>     (defconst load-prefix-map radix-tree-empty
>>       "Table associating file prefixes to directories.")
>>
>>     (defun load-prefix-register (dir prefix)
>>       (puthash dir t load-prefix-directories)
>>       (let ((dirs (radix-tree-lookup load-prefix-map prefix)))
>>         (unless (member dir dirs)
>>           (setq load-prefix-map (radix-tree-insert load-prefix-map prefix
>>                                                    (cons dir dirs))))))
>>
>>     (defun load-prefix-trim-load-path (file)
>>       "Return a trimmed `load-path` to use for FILE."
>>       (if (file-name-directory file)
>>           ;; If there's a `/` in FILE, fallback on the safe default.
>>           load-path
>>         (let* ((prefixes (radix-tree-prefixes load-prefix-map file))
>>                (dirs (apply #'append (mapcar #'cdr prefixes))))
>>           ;; Remove from `load-path` the entries which can't possibly
>>           ;; have FILE because their prefixes doesn't match.
>>           (cl-remove-if (lambda (dir)
>>                           (and (gethash dir load-prefix-directories)
>>                                (not (member dir dirs))))
>>                         load-path))))
>>
>> and then `load` can use `load-prefix-trim-load-path` to iterate on
>> a much shorter `load-path`.

Note that this above proposal should be transparent to the end user (tho
it requires extra work on the `package.el` side): e.g. funny changes
to `load-path` would be handled without fuss.

>> I'm not completely sure if it's a good idea, tho: I'd really prefer
>> a solution that doesn't require any change to any package management
>> code, which instead uses a cache (updated/filled automatically) of all
>> the files found in all the `load-path` directories.
> If that, we have to track the file/path changes in each entry of
> load-path, it may not be possible for all the supported OSs.

We can easily detect changes to `load-path` itself, of course, but as
for changes to the content of the directories in `load-path` that would
be more difficult&costly, admittedly.  My plan was to do nothing
about it (i.e. allow the cache to go stale): if we use the cache only to
tell `load` in which directory to look for the file, it should usually
be safe because IME it's rare for files to be added/removed from
directories such that it changes from which directory a given ELisp file
is loaded.  But of course we could also make efforts to try and keep our
cache consistent, e.g. via OS-level notification infrastructure or
by flushing the cache after a N seconds.


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 16:59:02 +0000
Resent-Message-ID: <handler.41646.B41646.173048029528872 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Stefan Monnier <monnier@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173048029528872
          (code B ref 41646); Fri, 01 Nov 2024 16:59:02 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 16:58:15 +0000
Received: from localhost ([127.0.0.1]:50640 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6uyU-0007Vc-Fq
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 12:58:14 -0400
Received: from mail-ed1-f53.google.com ([209.85.208.53]:54363)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t6uyS-0007VW-HB
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 12:58:13 -0400
Received: by mail-ed1-f53.google.com with SMTP id
 4fb4d7f45d1cf-5cb74434bc5so2556844a12.0
 for <41646 <at> debbugs.gnu.org>; Fri, 01 Nov 2024 09:58:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730480231; x=1731085031; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=AeUD+p30slxojxy2rgvaoBNjrP3LoKARmsyLR7b/cMc=;
 b=IlYUCh3AEAA8kjkoFUnggzJupBjRxc2XCKHfkwx9UhpgEO+1HRw95uY3Xo4rk/1PWA
 IsdGtFoMxieNMxPmIGiWstBtWMSEzCxzTdlwoiEGXABr/FgSoTfWzChzatnRQHRKDe/V
 4OaLMtgL/TTnVT4sVAV7aw487lPoLH8Fg086g8i2MO10WpxR2PHPJhp1vXpohU8ymcWb
 cG6Ia1fxtmjVOYN6suceVxCRxybq9Zo7T2xo1YFXgZPhNCKZ4Um0B6PBs5BSje8KfSsa
 IFRcyXLZ2J9/toilwjgR73lG5ZLX0IMFxPoOVmaKEC7CC4Yw5Q34cUa4cyStHcPFUf9V
 hRrA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730480231; x=1731085031;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=AeUD+p30slxojxy2rgvaoBNjrP3LoKARmsyLR7b/cMc=;
 b=Eiqyf8DHkv0BQkYfHBXU/S+8jKNNPLfAD6xviDspuVkmlxUR+bBdDSP/jdilv11hfB
 IPHv9qhYkv0VwrR9en3xC77ekun+XsBfGcgz3+MteYpmT7Y1qe6JtmWu/3QEHJIrIo/U
 pE/hIb21mnJTDwNuS5lMydoIkC2mX2tmZsMucph2ptpLYsb1WtqVgXru08HwBlViBRuX
 /pQSJAajc4QveuJOOp6FWyxq4VCE15lq4oGwqDqTNbFYOqsLXRmMwBSKSpJFORlff5ls
 C9/ugttio20ZIFkARRj10JpMTXOQMshGj5nRU1ou1zocCns1Kc5TBjHmqg5um3dc12O6
 Mgog==
X-Forwarded-Encrypted: i=1;
 AJvYcCUcZU16BT8VjUCfBkoz7zlrMekNiZEzMxhSNBKT9uaz8MAC5nrWrv/v67nWnadiRMa/zwbwZQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyPeoPwnHQh08p0ybfMk41NffsY4MNpMCjsQJGV6ysqf7bFxibo
 wYZ4iKmkKrxVUGgXA0aCr3iZQOQAkyjqHHVb7SK35UHN2+oR7v0GJqtfzRMoXlQPlmdVjZtIBwT
 vQdN2skSlAQB+eURCArsFyEU6Sg4=
X-Google-Smtp-Source: AGHT+IGY9WPXO+7rdqry50M1I+r11lt7mQ2+E/U4ZCyvHVge5gjR+9QeDN2jnFy885h6g0QSFoXRZcPgN4hFbwAC9n0=
X-Received: by 2002:a05:6402:50c8:b0:5cb:7318:800d with SMTP id
 4fb4d7f45d1cf-5ceb936ae32mr2496448a12.32.1730480231146; Fri, 01 Nov 2024
 09:57:11 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Fri, 1 Nov 2024 16:56:59 +0000
Message-ID: <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 (-)

On Fri, Nov 1, 2024 at 8:17=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wrote:
> ...
> How will the '"file1" "file2" ...' part be created?

For the Emacs built in paths, we can create the (<path> [files])
during bootstrap and write to the "subdirs.el", then it will push the
extended (<path>, files...) into `load-path'.


On Fri, Nov 1, 2024 at 1:11=E2=80=AFPM Stefan Monnier <monnier@HIDDEN=
l.ca> wrote:
>
> > Yes, introducing this new variable will increase the complexity to the
> > end user.
>
> Exactly, and I think we should first try to solve the problem without
> exposing the user to such complexity.
> ...
> >> and then `load` can use `load-prefix-trim-load-path` to iterate on
> >> a much shorter `load-path`.
>
> Note that this above proposal should be transparent to the end user (tho
> it requires extra work on the `package.el` side): e.g. funny changes
> to `load-path` would be handled without fuss.
>
> >> I'm not completely sure if it's a good idea, tho: I'd really prefer
> >> a solution that doesn't require any change to any package management
> >> code, which instead uses a cache (updated/filled automatically) of all
> >> the files found in all the `load-path` directories.
> > If that, we have to track the file/path changes in each entry of
> > load-path, it may not be possible for all the supported OSs.
>
> We can easily detect changes to `load-path` itself, of course, but as
> for changes to the content of the directories in `load-path` that would
> be more difficult&costly, admittedly.  My plan was to do nothing
> about it (i.e. allow the cache to go stale): if we use the cache only to
> tell `load` in which directory to look for the file, it should usually
> be safe because IME it's rare for files to be added/removed from
> directories such that it changes from which directory a given ELisp file
> is loaded.  But of course we could also make efforts to try and keep our
> cache consistent, e.g. via OS-level notification infrastructure or
> by flushing the cache after a N seconds.

Agree the changes are difficult and costly.

The inotify way is hard to work on all OSes, and the cache need very
carefully maintenance policy.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 17:09:01 +0000
Resent-Message-ID: <handler.41646.B41646.173048091830095 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: monnier@HIDDEN, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, monnier@HIDDEN, stefankangas@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173048091830095
          (code B ref 41646); Fri, 01 Nov 2024 17:09:01 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 17:08:38 +0000
Received: from localhost ([127.0.0.1]:50698 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6v8Y-0007pL-BB
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 13:08:38 -0400
Received: from eggs.gnu.org ([209.51.188.92]:40272)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1t6v8W-0007pF-Kq
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 13:08:37 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1t6v8Q-00063E-3E; Fri, 01 Nov 2024 13:08:30 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=BRs58LbeosYmvOwZKlg42Bq6j7YW2IQj2bSkoO3s0Uk=; b=U4emxR9rL1lESxKcT1g7
 +8cDGH+T+lhSNbAw98PjSJUrrCCR7J79tJG268PqKtOKUcLsqeaC9tcZI+k/2v+mwNkvAOHlOFlp/
 GZOqLYRG29PM+vdnoBRErC+ehV2Ls8CDp8MtDUERVOtO+/myRhnhsoERxmPFKEzJNsxZ1XmDoNfhd
 yy/46C5Hi2SMTYgQyRltEb/ptX5ry/2rfiC+SEFQa/u1oa7j4zKHHG1vJsQsbDFgxKIrsIBXPJFta
 7V7HtTVMz46Pc6PkObqauOWLstF9PKEeCzLWP5jJi4ZEUQj1bLktqgrPCbkDFtwE2jNPUJ17FuIvl
 xlsGn3Bjv3QUPw==;
Date: Fri, 01 Nov 2024 19:08:05 +0200
Message-Id: <86zfmizxu2.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
 (message from Lin Sun on Fri, 1 Nov 2024 16:56:59 +0000)
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
 <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Lin Sun <sunlin7.mail@HIDDEN>
> Date: Fri, 1 Nov 2024 16:56:59 +0000
> Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, acorallo@HIDDEN, 
> 	41646 <at> debbugs.gnu.org, monnier@HIDDEN
> 
> On Fri, Nov 1, 2024 at 8:17 AM Eli Zaretskii <eliz@HIDDEN> wrote:
> > ...
> > How will the '"file1" "file2" ...' part be created?
> 
> For the Emacs built in paths, we can create the (<path> [files])
> during bootstrap and write to the "subdirs.el", then it will push the
> extended (<path>, files...) into `load-path'.

I don't understand: isn't this supposed to speed up primarily users
who have many 3rd-party packages installed?  For them, what happens
during bootstrap is not relevant.


If all we want is to record the places where bundled files live,
that's a much easier problem.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 18:00:02 +0000
Resent-Message-ID: <handler.41646.B41646.17304839613676 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Eli Zaretskii <eliz@HIDDEN>
Cc: monnier@HIDDEN, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, monnier@HIDDEN, stefankangas@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17304839613676
          (code B ref 41646); Fri, 01 Nov 2024 18:00:02 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 17:59:21 +0000
Received: from localhost ([127.0.0.1]:50999 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6vvc-0000xE-Vw
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 13:59:21 -0400
Received: from mail-ed1-f44.google.com ([209.85.208.44]:61566)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t6vva-0000x8-LS
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 13:59:19 -0400
Received: by mail-ed1-f44.google.com with SMTP id
 4fb4d7f45d1cf-5ceb03aaddeso2236919a12.2
 for <41646 <at> debbugs.gnu.org>; Fri, 01 Nov 2024 10:59:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730483893; x=1731088693; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=drZgkR+9jmIzG2CzYaAEcbIWXP8DEWueriTJa3terY4=;
 b=XnLwuG3PUWGkxKTkF8ACBmVtxh8O90QPR96c6k/hgnshW/PAWonqsjwC/qfwrDiwvi
 J2D4JF233ayLasOLXy2lquV8LW3NuTbAe38F9tfhv5orTr1+EA58Un6ARdITB6QlEVza
 qX4a6EA2vE6u0n+GRdeZz7uNvSIoSfLKVPy6/uBawpYg/9min1msuLhYFmZhak4f9vZb
 6tDpIQvPOErT5Woz9wfADieLtQW8B9EzsH0tBNCo0E9gFDNyP1DqS3ciL/2Fj7vSjIZm
 hdSaPSZkylwk3K0lWnYwn+kO1vKCrEwdtLE0JPGK8y7Z3bEFVVW+sBPACgpapNt12LKG
 5WBw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730483893; x=1731088693;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=drZgkR+9jmIzG2CzYaAEcbIWXP8DEWueriTJa3terY4=;
 b=ImsHeYjI7uSmkxou4i1+igoA8+J0XdmeQOPrw/mhTPKT35SfivEpJ4YsEWNB8L7Grb
 9pdM+ykdV9mBJZKmGaPS7E7AZHJinWGTwXZAQ+alKdwEA3ek17HqyUwnQTcKNghUR80X
 IKL3aeKz89pHqG/OijJyitOrU7u3eIVw6RWKDK/JwuWAH9wvXaAR77yi4XYXcHMxS0N/
 QqQmt8QbH+yvvUS8HHzpCwz0e6KK63QF5yOYLIL4hroAkRoAHm51/Myj9CQ1tKh3OXJC
 M+LIfBbbVPhbl3h2qq7FpQ7pCinbtpWBP7WkcXZzFHChTDzHYLw1fqXP33eKA1OpkZn8
 tzIg==
X-Forwarded-Encrypted: i=1;
 AJvYcCW5EHDz2sRao/JwvgzxRN7mStDg9DNxxM9WHBQO56342XB13A6Cbim3yRGBbN8rKm5HVL/niw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YwEiyjw7J3CBCYMDj/AHg0z9skkF/vqxiY0uHUqGUr7hodqkMby
 q8wdqrrt9l/yuEwg0vus0yvuhbCs20hpTdUXrXswnTzga+xHIPUjDx3ROYI/AToEq7uxU+8jDt8
 khl0Z0YzqyuJn3v7ULXxd1rFB9lY=
X-Google-Smtp-Source: AGHT+IHjEKG4mjfoU8XcM/AevqOUKxQFz+KaUpaS7KesJWNkwrVECra/nfA8/TUBSaBKxCagVblJmT6nIQyPXLd5Sxg=
X-Received: by 2002:a05:6402:35d2:b0:5ce:c8a3:bad8 with SMTP id
 4fb4d7f45d1cf-5cec8a3bbcdmr296994a12.30.1730483892633; Fri, 01 Nov 2024
 10:58:12 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
 <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
 <86zfmizxu2.fsf@HIDDEN>
In-Reply-To: <86zfmizxu2.fsf@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Fri, 1 Nov 2024 17:58:01 +0000
Message-ID: <CABCREdo_QOQa5CAigVjhi3bYh0v_QXYyyuJn2+yt4LD6cR5Mnw@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 1.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 (-)

On Fri, Nov 1, 2024 at 5:08=E2=80=AFPM Eli Zaretskii <eliz@HIDDEN> wrote:
>
> > From: Lin Sun <sunlin7.mail@HIDDEN>
> > Date: Fri, 1 Nov 2024 16:56:59 +0000
> > Cc: Eli Zaretskii <eliz@HIDDEN>, stefankangas@HIDDEN, acorallo@gnu.=
org,
> >       41646 <at> debbugs.gnu.org, monnier@HIDDEN
> >
> > On Fri, Nov 1, 2024 at 8:17=E2=80=AFAM Eli Zaretskii <eliz@HIDDEN> wro=
te:
> > > ...
> > > How will the '"file1" "file2" ...' part be created?
> >
> > For the Emacs built in paths, we can create the (<path> [files])
> > during bootstrap and write to the "subdirs.el", then it will push the
> > extended (<path>, files...) into `load-path'.
>
> I don't understand: isn't this supposed to speed up primarily users
> who have many 3rd-party packages installed?  For them, what happens
> during bootstrap is not relevant.
>
> If all we want is to record the places where bundled files live,
> that's a much easier problem.
Sorry for the fuzz "bootstrap", the "bootstrap" I wanted to say is
part of building steps, like "make bootstrap", then we can build the
files list into the "subdir.el".

Both the startup time and running time will be affected by too many
"load-path" entries.
Like the "package.el", it will add all 300+ packages' paths on the top
of "load-path" at the beginning of startup, the builtin paths will be
on the bottom of "load-path", after that a simple "(require
'<builtin-feature>)" will trigger emacs to walk through the
"load-path" from top to bottom, that leads thouthands
open-attemptions, that happened during emacs startup, or during
running time.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 18:17:01 +0000
Resent-Message-ID: <handler.41646.B41646.17304850026067 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Eli Zaretskii <eliz@HIDDEN>
Cc: monnier@HIDDEN, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, monnier@HIDDEN, stefankangas@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17304850026067
          (code B ref 41646); Fri, 01 Nov 2024 18:17:01 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 18:16:42 +0000
Received: from localhost ([127.0.0.1]:51089 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6wCQ-0001Zn-Dw
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 14:16:42 -0400
Received: from mail-ed1-f48.google.com ([209.85.208.48]:44087)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t6wCO-0001Zf-Bx
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 14:16:41 -0400
Received: by mail-ed1-f48.google.com with SMTP id
 4fb4d7f45d1cf-5cb6ca2a776so3140497a12.0
 for <41646 <at> debbugs.gnu.org>; Fri, 01 Nov 2024 11:16:40 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730484934; x=1731089734; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=f8qyCcDqGD7hkdIr8TRcZlI+D08vhgNI/QR1D86XlQ0=;
 b=Ww0LKSyPXFPf0NmaKoq3lEglZVMdZMv1X9I4/ArRAPAxmKnZwo1/+wqAz+KeVCs5+X
 PFrEpQ/x+y8W4Ygq4lBo7++/mI/6MK38bAAdq/tTCtSob234q+jd/f55QrcYJOSy9oQJ
 vnAHd5xJvEuftLf5hTV7TFn04B53Lj8UlUM3KKriv1ri+qt6cK1aVDuD/meK82zEkNZR
 wMcovJ92tYQrw8s82JTjSEF67DFjliR8khN+0Ns5VOFNNbu/TrQzRw8FuN0iWXol2CjN
 n3F5796AwfbUnS7NDFlaN20ikxOub42vh+ZiCGV1vwotIfi/Os9do5i6L0EO/ofyc18c
 8TTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730484934; x=1731089734;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=f8qyCcDqGD7hkdIr8TRcZlI+D08vhgNI/QR1D86XlQ0=;
 b=uYlhCQwnPcz0BHowhqZfXaeZnXPtPjkVwJIwtD7bjgqiSoTgxdDYJGrmfFC6clh9VW
 6eJlR+kzsr8C4AwaVM0Onx60q4H+azCPdh2+12atbX/9AWMrhYLUjgPZFkZeiL54xMkl
 gmIRmxWwCqOU4SvGxV/MlxTr7LoE83H1hpGpVA6c8V8ZbehjE5AebKG4M1g4ANmt1Aa0
 4AL9V3WsHslGRpk301xszs51DzTuPUGMK+cB6K6wDYzxaUX1FWrOGfG/sQpbgcwLda/t
 tcVjyfHicO6me0VuHgGuFJko0uReAJi6mWUGDciSqvMr3YJ/OMG7n5eKQux5Ru4cM5pk
 qRng==
X-Forwarded-Encrypted: i=1;
 AJvYcCUmJvwRT8ajCfHNs3QRSYJEfgVzo8M2/XHWgriM11Ty7jWHTpvYLP/BmTZ5IhRsfIyLvQj7sg==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzZKG4YiS4QnA99kjGJ3pFV8JMxfL/5ZFDux5qV7ylS81IPo3yw
 m+nzv6wwjWwcAXc6ouwmYVIWiltvkt6Bp7DUM6kqSA1TorbFxAEhxkV8qpH2DBPnUIO5GQpJNJD
 pEFWA9Md/bEGdHtvNKYmk7nUffzOW4b3N
X-Google-Smtp-Source: AGHT+IElhn97Ht3kHRDD8BpQfay7CgwyFkb8P4vnGquQkU5juJuHfC6s8VKTQYHzqlaogvcYQzVrVTa40q593OmjWgw=
X-Received: by 2002:a05:6402:42c6:b0:5c9:1cf3:8fca with SMTP id
 4fb4d7f45d1cf-5cd54af11afmr9304913a12.24.1730484934231; Fri, 01 Nov 2024
 11:15:34 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
 <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
 <86zfmizxu2.fsf@HIDDEN>
 <CABCREdo_QOQa5CAigVjhi3bYh0v_QXYyyuJn2+yt4LD6cR5Mnw@HIDDEN>
In-Reply-To: <CABCREdo_QOQa5CAigVjhi3bYh0v_QXYyyuJn2+yt4LD6cR5Mnw@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Fri, 1 Nov 2024 18:15:23 +0000
Message-ID: <CABCREdrPBhF8FbsmYc0g=n97OWyg1e=sLUDnfbyyfdZDGTOG0Q@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 (-)

How about this: I write some windows specific code only available on
the windows to cache the files for the load-path. It will NOT affect
other platforms. Like a flag "load-path-cache-expired 60" (nil/t) for
windows users who won't change path/files a lot, then Emacs can cache
the files list for path entries for 60 seconds.  As I pasted, with the
files cache, it can reduce the startup time from ~16s to ~5s, and also
improve the running time performance. That will save a lot of emacs
windows users.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 19:19:02 +0000
Resent-Message-ID: <handler.41646.B41646.173048868813562 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173048868813562
          (code B ref 41646); Fri, 01 Nov 2024 19:19:02 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 19:18:08 +0000
Received: from localhost ([127.0.0.1]:51441 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6x9s-0003Wg-5p
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 15:18:08 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:29831)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1t6x9p-0003WH-Kz
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 15:18:06 -0400
Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 0BF55441188;
 Fri,  1 Nov 2024 15:18:00 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1730488674;
 bh=t4VvwrQOKqnKSHoK9bBorCxhIPSPan9H5KiINR1lMmE=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=GqQ1990bHl1QD/CVR7d8bgURQkBbkU4iDzGbiYXaxPytcJmNniHQK6I20E+CqmgzT
 7/QprLpcgYh1bRJJIuNnbbRb/BEalRsJJQBtWK5hgwJM+hqSYmasldZoUGUm7aMZy8
 8YMDtCQWujdXOLaTHoq9Ow+Qsh1kdFdsVEr4IamLPyTvnuPkXlIKxApVfN0oz3m7JZ
 3wxAx23dkEbNwmx9oIljypsGAmIVQAHyxHu7V9R8PaF02nN7C+u37YVVU6rir3BZ8M
 R+I/cV7/HHCxyrtedkVWQz9OpUSUEObb3AzQO/iWkVvaC4CzcOT5fqNVLSGgtvhOty
 hALwSo+ftvKtA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id BED12441183;
 Fri,  1 Nov 2024 15:17:54 -0400 (EDT)
Received: from pastel (104-195-225-43.cpe.teksavvy.com [104.195.225.43])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 6EB29120313;
 Fri,  1 Nov 2024 15:17:54 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
 (Lin Sun's message of "Fri, 1 Nov 2024 16:56:59 +0000")
Message-ID: <jwvmsiiepek.fsf-monnier+emacs@HIDDEN>
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
 <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
Date: Fri, 01 Nov 2024 15:17:46 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.016 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

>> We can easily detect changes to `load-path` itself, of course, but as
>> for changes to the content of the directories in `load-path` that would
>> be more difficult&costly, admittedly.  My plan was to do nothing
>> about it (i.e. allow the cache to go stale): if we use the cache only to
>> tell `load` in which directory to look for the file, it should usually
>> be safe because IME it's rare for files to be added/removed from
>> directories such that it changes from which directory a given ELisp file
>> is loaded.  But of course we could also make efforts to try and keep our
>> cache consistent, e.g. via OS-level notification infrastructure or
>> by flushing the cache after a N seconds.
> Agree the changes are difficult and costly.

I don't understand: I didn't say (nor do I think) that any of that is
complex or costly.


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 19:32:02 +0000
Resent-Message-ID: <handler.41646.B41646.173048949315257 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Stefan Monnier <monnier@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173048949315257
          (code B ref 41646); Fri, 01 Nov 2024 19:32:02 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 19:31:33 +0000
Received: from localhost ([127.0.0.1]:51504 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6xMr-0003y1-Hi
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 15:31:33 -0400
Received: from mail-ej1-f43.google.com ([209.85.218.43]:57608)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t6xMo-0003xt-7h
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 15:31:32 -0400
Received: by mail-ej1-f43.google.com with SMTP id
 a640c23a62f3a-a99f3a5a44cso304501466b.3
 for <41646 <at> debbugs.gnu.org>; Fri, 01 Nov 2024 12:31:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730489424; x=1731094224; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=aj3rklVJxesnoiSW6fbE3AWVZTNcL8+Sd3DFWaVk18g=;
 b=XrK0cI3uiUNj30OqFd9sjNS4oRDkswzfSushmd0hx0cqZVIGn7PKUbmSoe4QAFRq9L
 7uDDWi8aD++EhgU0IjqQTxNOoUaCWpCVRLjsUFhelBiyg8B4AS3waM/XrhEOde5dy+wi
 moCWcsq/I4E5mbv2ICbfQW3ObsQ6jjzkf/zkPgWJ0uogOAtE8gupAc4JWUpxbrbdMXoO
 cYfUHhgaT33lOxVCgVAql39Zx6hNR83gPuSPen2zZR76N796G4pBNfxE//r1nA8XpnCP
 yjGWA+fOVKF0Zc0SNkOR8FO6xNNQFXolLf69FCooXnNN3YX03oNOkw0wHXMEtTt8CEi1
 qEvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730489424; x=1731094224;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=aj3rklVJxesnoiSW6fbE3AWVZTNcL8+Sd3DFWaVk18g=;
 b=q1muadw6LKbuEmPcNrKKQHRsKgdNbBlgzwb36xfgk97391v7MGOHDlA8usrkligvJ8
 lS0IQrFE4y0c6Z65ySpjubkdli64RAA23E8RI+6nDSHuMwBBtxsYuwKEHlaeoA7jy8oK
 fOmk3RG/w+9pHvqA2/cf/mTWgyCn0YcdCJeDyMPjmJ3KwKw1X8hFka/YpyNXyToMNPBq
 iW3Aya6YB/Mo8qoxe5jCwxLm1U9Fgi2OukxYqI5u81fXlRFUzT2XmI4c4F1TcXUEMitM
 +sjzuhlafqsSP4eB4+4+sqRgpXH+s9KICvtBAlJf5vVTui76e7cxtYmK5W6FyzKd9lZA
 havQ==
X-Forwarded-Encrypted: i=1;
 AJvYcCXcguJy8jWrJRBvcre1bc49YGNemcBPZ5Ktxpqaxx08cFhFOxV+jqL62Nus1UDUz48A+zmFMw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yx6Srm2xJV3HV/KVz4UvhEOsMd1ANERVNCgvTAGL93+vdByjIq6
 DuUwvkBBEbszQeWFdrUNuofwwhG/jduKfrq28qHAt7HCaRPAADMBjzw+tdTrwAMkSG4e9mSovIn
 gaLm4EOa2816JlUAhDLTaALAhRO4=
X-Google-Smtp-Source: AGHT+IHoRaI6uLMTy79DPNpjjN2gmys6X7YDXI8HmGo1/hD40iL+MbBHNJhwuFt8sFimSYWJpTEKx6/ewD0O5pAAVKg=
X-Received: by 2002:a17:906:794c:b0:a99:e505:2089 with SMTP id
 a640c23a62f3a-a9de61ce121mr984890466b.45.1730489424304; Fri, 01 Nov 2024
 12:30:24 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
 <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
 <jwvmsiiepek.fsf-monnier+emacs@HIDDEN>
In-Reply-To: <jwvmsiiepek.fsf-monnier+emacs@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Fri, 1 Nov 2024 19:30:13 +0000
Message-ID: <CABCREdooE_xA3wScddoE==x=x3a9bKmmxJKffN8d=OBi-C=a-w@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 (-)

On Fri, Nov 1, 2024 at 7:18=E2=80=AFPM Stefan Monnier <monnier@HIDDEN=
l.ca> wrote:
>
> >> We can easily detect changes to `load-path` itself, of course, but as
> >> for changes to the content of the directories in `load-path` that woul=
d
> >> be more difficult&costly, admittedly.  My plan was to do nothing
> >> about it (i.e. allow the cache to go stale): if we use the cache only =
to
> >> tell `load` in which directory to look for the file, it should usually
> >> be safe because IME it's rare for files to be added/removed from
> >> directories such that it changes from which directory a given ELisp fi=
le
> >> is loaded.  But of course we could also make efforts to try and keep o=
ur
> >> cache consistent, e.g. via OS-level notification infrastructure or
> >> by flushing the cache after a N seconds.
> > Agree the changes are difficult and costly.
>
> I don't understand: I didn't say (nor do I think) that any of that is
> complex or costly.
>
Apologize for my misunderstanding of the "difficult&costly", will read
the comments more precisely.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 19:43:02 +0000
Resent-Message-ID: <handler.41646.B41646.173049015816462 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173049015816462
          (code B ref 41646); Fri, 01 Nov 2024 19:43:02 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 19:42:38 +0000
Received: from localhost ([127.0.0.1]:51560 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6xXa-0004HS-Bs
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 15:42:38 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:49237)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1t6xXX-0004HK-Lq
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 15:42:36 -0400
Received: from pmg2.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id C32DC803AD;
 Fri,  1 Nov 2024 15:42:29 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1730490148;
 bh=+rIgRwen9mzTvsJ0nqGpRnVPMM12JlwmD2qGbywsnGU=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=dFgMtUHBCCASposx6JjvCzJyLnEP+rutD8enIBa0SFz8S8QMm/fLfUxwU1W9POrFR
 GDLGzmG3/qsy85/jW+cX2qQJ2m1SZISmsNPNtHjNfIuYHfvyHKqW6opo6Upekmem5k
 LBVc+6Eb9JS7/cdN0lURacmoMNMgyCo+EJgSCY2eqwHKFulNci/ZbKk5xdEvjmNz8g
 13yGP/nL2BSMPEJjZNO/AbSDwcZVYoY3QOX06wjwKFY0n/lRzDNJB2lHpTKlpNTXCv
 JthtnNPdv64B5AZxvklpi994VBueQf5HSK+7jLN5WoNZ3DQliuM7Ze1FWTKYSWxOcl
 gtfQum3/u90OQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg2.iro.umontreal.ca (Proxmox) with ESMTP id E3A9480169;
 Fri,  1 Nov 2024 15:42:28 -0400 (EDT)
Received: from pastel (104-195-225-43.cpe.teksavvy.com [104.195.225.43])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id A319B1200BA;
 Fri,  1 Nov 2024 15:42:28 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 (Lin Sun's message of "Mon, 21 Oct 2024 17:11:17 +0000")
Message-ID: <jwvh68qeodd.fsf-monnier+emacs@HIDDEN>
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <CABCREdq4JXaJbQwsS9=MWEzYnOAr2CZCCvg6pjjyNEgZO-MZrg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
Date: Fri, 01 Nov 2024 15:42:27 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL 0.040 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> I had searched all 200+ packages in my test env, most of the packages
> use their feature name as the prefix, only 11 packages have
> exceptions.

FWIW, I just looked at the longest common prefix for .el files in
(Non)GNU ELPA packages and the ratio is a bit worse, but still good
enough that it should give good speedups:

    (let ((default-directory "../nongnu/packages/"))
      (mapcar (lambda (dir)
                (when (file-directory-p dir)
                  (let ((completion-regexp-list '("\\`[^.].*\\.el")))
                    (list (intern dir)
                          (file-name-completion
                           "" dir)))))
              (directory-files "."))))

In both GNU ELPA and NonGNU ELPA only about 10% of the packages had
a non-empty common prefix, which means that `load` would be able to
skip about 90% of the package directories.


        Stefan





Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 19:50:02 +0000
Resent-Message-ID: <handler.41646.B41646.173049060017132 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: monnier@HIDDEN, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, monnier@HIDDEN, stefankangas@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173049060017132
          (code B ref 41646); Fri, 01 Nov 2024 19:50:02 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 19:50:00 +0000
Received: from localhost ([127.0.0.1]:51598 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6xei-0004SG-Fv
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 15:50:00 -0400
Received: from eggs.gnu.org ([209.51.188.92]:34966)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1t6xef-0004S8-Df
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 15:49:58 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1t6xea-0005lR-15; Fri, 01 Nov 2024 15:49:52 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=1jMI7K8st/F/mWBj7RXlNWRCWzQX60c0GfFtK4Iu9nI=; b=JyWT/Hl8o0AA
 nCqx3V7370L2QD34rvnBa58TkSxSh95ncGLayR54jAo4AXTpbODLhuhxM7/W4lkul89GJIe4CC6el
 e48JVYYN+fmCu/M/46jrhedibfbyT+FEWsFhO4cBprNG17fGahtcZm7y2SDZpC/o/2A/xkoolgE++
 z/6E0eRZnnurf/RWuSwBEJaPtrRR6nu/Q/4dNWZ314MJKOALrP+V2910P9CqkYujtxIWCFhxlJoUj
 s2UPm7XpIjdg2qEpQ6yGplTu99yDqrvnemXWRhOdii++rrBFFlRezq4hPW2ZlPnnHmDKbGwQCggCW
 LUbrTWp5YvvcZ50kuqOvwA==;
Date: Fri, 01 Nov 2024 21:49:47 +0200
Message-Id: <86y122zqck.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CABCREdo_QOQa5CAigVjhi3bYh0v_QXYyyuJn2+yt4LD6cR5Mnw@HIDDEN>
 (message from Lin Sun on Fri, 1 Nov 2024 17:58:01 +0000)
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
 <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
 <86zfmizxu2.fsf@HIDDEN>
 <CABCREdo_QOQa5CAigVjhi3bYh0v_QXYyyuJn2+yt4LD6cR5Mnw@HIDDEN>
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Lin Sun <sunlin7.mail@HIDDEN>
> Date: Fri, 1 Nov 2024 17:58:01 +0000
> Cc: monnier@HIDDEN, stefankangas@HIDDEN, acorallo@HIDDEN, 
> 	41646 <at> debbugs.gnu.org, monnier@HIDDEN
> 
> > > > How will the '"file1" "file2" ...' part be created?
> > >
> > > For the Emacs built in paths, we can create the (<path> [files])
> > > during bootstrap and write to the "subdirs.el", then it will push the
> > > extended (<path>, files...) into `load-path'.
> >
> > I don't understand: isn't this supposed to speed up primarily users
> > who have many 3rd-party packages installed?  For them, what happens
> > during bootstrap is not relevant.
> >
> > If all we want is to record the places where bundled files live,
> > that's a much easier problem.
> Sorry for the fuzz "bootstrap", the "bootstrap" I wanted to say is
> part of building steps, like "make bootstrap", then we can build the
> files list into the "subdir.el".

I still don't understand: below you are talking about installing 300+
packages using package.el, so "make bootstrap" is not relevant.

> Both the startup time and running time will be affected by too many
> "load-path" entries.
> Like the "package.el", it will add all 300+ packages' paths on the top
> of "load-path" at the beginning of startup, the builtin paths will be
> on the bottom of "load-path", after that a simple "(require
> '<builtin-feature>)" will trigger emacs to walk through the
> "load-path" from top to bottom, that leads thouthands
> open-attemptions, that happened during emacs startup, or during
> running time.

So now we are talking not only about startup, but also about what
happens after that?

It is hard to discuss a feature whose goal and the problems it
attempts to solve shift around all the time.  Can we please formulate
the goals and not change them afterwards?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Fri, 01 Nov 2024 20:00:02 +0000
Resent-Message-ID: <handler.41646.B41646.173049114218308 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, monnier@HIDDEN, stefankangas@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173049114218308
          (code B ref 41646); Fri, 01 Nov 2024 20:00:02 +0000
Received: (at 41646) by debbugs.gnu.org; 1 Nov 2024 19:59:02 +0000
Received: from localhost ([127.0.0.1]:51662 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6xnR-0004l1-S1
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 15:59:02 -0400
Received: from eggs.gnu.org ([209.51.188.92]:39866)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1t6xnP-0004kp-G1
 for 41646 <at> debbugs.gnu.org; Fri, 01 Nov 2024 15:59:00 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1t6xnJ-0006fl-Fp; Fri, 01 Nov 2024 15:58:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=Fd5YMY63tVj9Cs821jqOr+nHSoefaKN1jFLjl/CF8VU=; b=i3ubENFr2DpR
 RipqjZYpNgOYxfqBKjD/WVO+G6p92zmn9fRIZwGUyYV5IE5PLzSS5o2/WI9ViNhIo7Z3BXyXzb1U+
 Cjrokpz8+whIUJmeVi1SaviAqTQOGlxgeRRXU3Fuvp7rAlmmUDHaw1yWRJzmDRCI9Lf7l4jdXIbPT
 IJ6s38CfOeSe4+m/D4hcRuIJ/d/XujCqPwmSQCdVr2BFYSi4qNa903WmMVdE03yqfVuPv7cvnk0IM
 7pT+FFgm41IO+X95ql683ZiR6J2WZ/AUrp0HhRTG14FQk/K+oBV10gIDvKv+C4xGMttau1FG1yw0x
 oN4mypJ8+nqW+1MmyUlIwA==;
Date: Fri, 01 Nov 2024 21:58:48 +0200
Message-Id: <86wmhmzpxj.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CABCREdrPBhF8FbsmYc0g=n97OWyg1e=sLUDnfbyyfdZDGTOG0Q@HIDDEN>
 (message from Lin Sun on Fri, 1 Nov 2024 18:15:23 +0000)
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
 <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
 <86zfmizxu2.fsf@HIDDEN>
 <CABCREdo_QOQa5CAigVjhi3bYh0v_QXYyyuJn2+yt4LD6cR5Mnw@HIDDEN>
 <CABCREdrPBhF8FbsmYc0g=n97OWyg1e=sLUDnfbyyfdZDGTOG0Q@HIDDEN>
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Lin Sun <sunlin7.mail@HIDDEN>
> Date: Fri, 1 Nov 2024 18:15:23 +0000
> Cc: monnier@HIDDEN, stefankangas@HIDDEN, acorallo@HIDDEN, 
> 	41646 <at> debbugs.gnu.org, monnier@HIDDEN
> 
> How about this: I write some windows specific code only available on
> the windows to cache the files for the load-path. It will NOT affect
> other platforms. Like a flag "load-path-cache-expired 60" (nil/t) for
> windows users who won't change path/files a lot, then Emacs can cache
> the files list for path entries for 60 seconds.  As I pasted, with the
> files cache, it can reduce the startup time from ~16s to ~5s, and also
> improve the running time performance. That will save a lot of emacs
> windows users.

I'd like us first to have a good understanding of the problems, their
aspects, and the goals of the proposed changes.  I'd also would like
to have some agreed-upon timing of searching load-path, including its
dependence on the number of directories in load-path, and the relative
part of the startup that this particular aspect explains.  (Are you
really saying that it takes Emacs 16 sec to search 300 directories for
300 files?)  Only then we will have enough information to discuss
potential solutions and their effects on the startup time.

In general, a Windows-only feature is something I'd prefer not to
have, because quite a few users use Emacs on both Windows and
GNU/Linux, so having OS specific features should be avoided.  But it
can be acceptable if no better alternative exists.  But this is
something we should talk about much later, not now.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Lin Sun <sunlin7.mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 02 Nov 2024 04:36:01 +0000
Resent-Message-ID: <handler.41646.B41646.173052212213364 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Eli Zaretskii <eliz@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, monnier@HIDDEN, stefankangas@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173052212213364
          (code B ref 41646); Sat, 02 Nov 2024 04:36:01 +0000
Received: (at 41646) by debbugs.gnu.org; 2 Nov 2024 04:35:22 +0000
Received: from localhost ([127.0.0.1]:52765 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t75r7-0003TU-M3
	for submit <at> debbugs.gnu.org; Sat, 02 Nov 2024 00:35:21 -0400
Received: from mail-ej1-f50.google.com ([209.85.218.50]:43452)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <sunlin7.mail@HIDDEN>) id 1t75r4-0003TM-RT
 for 41646 <at> debbugs.gnu.org; Sat, 02 Nov 2024 00:35:19 -0400
Received: by mail-ej1-f50.google.com with SMTP id
 a640c23a62f3a-a99ebb390a5so660108166b.1
 for <41646 <at> debbugs.gnu.org>; Fri, 01 Nov 2024 21:35:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730522053; x=1731126853; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=aCT6QRINIxeiImmKgIWjaTWV9QIlNKPPc7KSV0nhODc=;
 b=Mt+sXChbmHgOmGQwPI0dq8fbjzkIx0y4n4jke9oYY+jPT3k9+6TyAzoGncQHT2+Ml6
 oPW/YwACU6hyuTJPQzzBksd+l50AhiJJZgZ9cEcRtdLeZQpjGc9yw8QflZYV+95mrQ2K
 vbKZs+ziud1kn7CVdrWzg/hfJAAq3h5iP6XraHyYBXDgRkXDZ60ym5vIqayFMOlgg7uk
 v407sdoR2+GXQEk0iQoR5WedtSj1gPK5PYcH/yxEX2t6A5hhRNh4P0rX73CBUXJdi1Dw
 qZ1Vco9hsQSlL7tdzqEetg3Xo+Bfv0lyERHbpGZ48m6tERms/ckPj4aR2gCv0HTrD9ik
 GCwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730522053; x=1731126853;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=aCT6QRINIxeiImmKgIWjaTWV9QIlNKPPc7KSV0nhODc=;
 b=PMyW3/LHj/xIrwOMqIlaUOenoaxW2lrbIqSNOtY4YLnzkIoczeTVVNZ0BKi/P36E95
 5yIWthhUykD6MX+cPi/svacW5Ah4rR9A6Q494hN0t5nPEn0t2UkFwxLCKn6pyu1wpsQV
 hW9eUtzQLm3gh7m5h0hFjIgAvtWPWzRuEyWkKkZH/QrNNMHkuwwREJci82OKgHA6DudD
 d99YX04kxKJED/4e0mF6JxCexUmj3263iVJVHFCeexCvDh3fUOWdrwRfhCsrs2iznXOt
 KcejNIMM11VP0nM8Xd2aGSjPnNaEqy0se27QqzOguK5acti8yQMoYrFJHgkF9IiZphmH
 Kv1w==
X-Forwarded-Encrypted: i=1;
 AJvYcCWryL7V2WgfJg0Js1WOfWxiJLmOTj7msaikVMAM5ChJuEajX802TtcYe2GLeCXmsYDFYZ/UiQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyZQSnA+6FHh1todhRn6f4e2WKNmXXHuB70jswM9JVbCzQA4ppZ
 ieb4VHhlfHkGG4LDdK+s8Xzp7Dutj9jCuCdfLqI3nQqmSaKf1E9NImHC1093mhmQr86c7Wo5XIK
 qio3efaGm/aPONlD6jtPYg/BRJNQ=
X-Google-Smtp-Source: AGHT+IECmIIvnhDYx/0mVm09YXcQY0NyL38POYDjlim+Cebf+eRkBVYUm7xsuKDyZwoCIBYwmW1u6VvPwXDEZnRPQCw=
X-Received: by 2002:a17:907:94cb:b0:a9a:7b3d:705 with SMTP id
 a640c23a62f3a-a9e6549686fmr559004766b.30.1730522052818; Fri, 01 Nov 2024
 21:34:12 -0700 (PDT)
MIME-Version: 1.0
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
 <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
 <86zfmizxu2.fsf@HIDDEN>
 <CABCREdo_QOQa5CAigVjhi3bYh0v_QXYyyuJn2+yt4LD6cR5Mnw@HIDDEN>
 <CABCREdrPBhF8FbsmYc0g=n97OWyg1e=sLUDnfbyyfdZDGTOG0Q@HIDDEN>
 <86wmhmzpxj.fsf@HIDDEN>
In-Reply-To: <86wmhmzpxj.fsf@HIDDEN>
From: Lin Sun <sunlin7.mail@HIDDEN>
Date: Sat, 2 Nov 2024 04:34:01 +0000
Message-ID: <CABCREdrN4SK+Dh0j_W3RwtMXW=acQwqEMh7CT_6ZGs5RB+XwDw@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
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 (-)

On Fri, Nov 1, 2024 at 7:58=E2=80=AFPM Eli Zaretskii <eliz@HIDDEN> wrote:
>
> I'd like us first to have a good understanding of the problems, their
> aspects, and the goals of the proposed changes.  I'd also would like
> to have some agreed-upon timing of searching load-path, including its
> dependence on the number of directories in load-path, and the relative
> part of the startup that this particular aspect explains.  (Are you
> really saying that it takes Emacs 16 sec to search 300 directories for
> 300 files?)  Only then we will have enough information to discuss
> potential solutions and their effects on the startup time.

I use Spacemacs which will install ~380 packages for emacs. And on
windows without my patch, it takes ~16 seconds on startup, takes more
than 3 seconds to open a *.org file; as a comparison, similar
configuration on Ubuntu, the startup time is less than 4 seconds, and
takes less than 1 second to open a *.org file.

After applying the "load-hints" patch, on Windows the startup time is
reduced from ~16 seconds to ~5 seconds, taking ~1.5 seconds to open a
*.org file.  It does not imply Emacs spends 16sec to search
directories for 300 files on windows.

> In general, a Windows-only feature is something I'd prefer not to
> have, because quite a few users use Emacs on both Windows and
> GNU/Linux, so having OS specific features should be avoided.  But it
> can be acceptable if no better alternative exists.  But this is
> something we should talk about much later, not now.

Totally agree, really look forward to an elegant solution.




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Eli Zaretskii <eliz@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 02 Nov 2024 08:25:02 +0000
Resent-Message-ID: <handler.41646.B41646.17305358897764 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, monnier@HIDDEN, stefankangas@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.17305358897764
          (code B ref 41646); Sat, 02 Nov 2024 08:25:02 +0000
Received: (at 41646) by debbugs.gnu.org; 2 Nov 2024 08:24:49 +0000
Received: from localhost ([127.0.0.1]:53049 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t79RA-00021A-Ty
	for submit <at> debbugs.gnu.org; Sat, 02 Nov 2024 04:24:49 -0400
Received: from eggs.gnu.org ([209.51.188.92]:43736)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1t79R8-000212-Io
 for 41646 <at> debbugs.gnu.org; Sat, 02 Nov 2024 04:24:48 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1t79R2-0005vN-Cm; Sat, 02 Nov 2024 04:24:40 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=mWBkh7gA525gLK8Yor7m2oixwZaIrigTujpq7xXZynE=; b=lsLAHPZ4I56Sa3V8dJiJ
 X9g09021vhO6lham/ExRG9Z2uGPYx3/sXgFX0TR4aJePTYY2zvPf/MJ67GuUFbnJbp0i75buDTXBn
 iIwsTmYlCtyjmxILtp7B4BIia2n0sNOCo+6NYq2g/FJRiM5fAGyrz0KU+2ernCPbsoWVCwIfEu74L
 HUzOOTHscPFgSHlqq56CGvH0l6kLncKWGgNH55Epm57auncz3IrMeHciSuH9giKx5SwA8S0S1IOjg
 ZGIo7p3OpfwnJxJUIzjipxuw9armC2ZP2GBmZGXo55NhamqNi98NUN6+yGwqJIu96pIRabpOpuJt7
 tAYIF0TgpVNIpA==;
Date: Sat, 02 Nov 2024 10:24:36 +0200
Message-Id: <86plneyrej.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <CABCREdrN4SK+Dh0j_W3RwtMXW=acQwqEMh7CT_6ZGs5RB+XwDw@HIDDEN>
 (message from Lin Sun on Sat, 2 Nov 2024 04:34:01 +0000)
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvsescwe1d.fsf-monnier+emacs@HIDDEN>
 <CABCREdq_cFqeqDSVLOeFtt+u_5c12db+eAgfVuAHsN5rGSZNUA@HIDDEN>
 <jwvwmhnds9y.fsf-monnier+emacs@HIDDEN>
 <CABCREdoxj5y6muXX5vSAbcCRysu1a3EqXLS9kXToeHrJux+aVA@HIDDEN>
 <86zfmizxu2.fsf@HIDDEN>
 <CABCREdo_QOQa5CAigVjhi3bYh0v_QXYyyuJn2+yt4LD6cR5Mnw@HIDDEN>
 <CABCREdrPBhF8FbsmYc0g=n97OWyg1e=sLUDnfbyyfdZDGTOG0Q@HIDDEN>
 <86wmhmzpxj.fsf@HIDDEN>
 <CABCREdrN4SK+Dh0j_W3RwtMXW=acQwqEMh7CT_6ZGs5RB+XwDw@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> From: Lin Sun <sunlin7.mail@HIDDEN>
> Date: Sat, 2 Nov 2024 04:34:01 +0000
> Cc: monnier@HIDDEN, stefankangas@HIDDEN, acorallo@HIDDEN, 
> 	41646 <at> debbugs.gnu.org
> 
> On Fri, Nov 1, 2024 at 7:58 PM Eli Zaretskii <eliz@HIDDEN> wrote:
> >
> > I'd like us first to have a good understanding of the problems, their
> > aspects, and the goals of the proposed changes.  I'd also would like
> > to have some agreed-upon timing of searching load-path, including its
> > dependence on the number of directories in load-path, and the relative
> > part of the startup that this particular aspect explains.  (Are you
> > really saying that it takes Emacs 16 sec to search 300 directories for
> > 300 files?)  Only then we will have enough information to discuss
> > potential solutions and their effects on the startup time.
> 
> I use Spacemacs which will install ~380 packages for emacs. And on
> windows without my patch, it takes ~16 seconds on startup, takes more
> than 3 seconds to open a *.org file; as a comparison, similar
> configuration on Ubuntu, the startup time is less than 4 seconds, and
> takes less than 1 second to open a *.org file.
> 
> After applying the "load-hints" patch, on Windows the startup time is
> reduced from ~16 seconds to ~5 seconds, taking ~1.5 seconds to open a
> *.org file.  It does not imply Emacs spends 16sec to search
> directories for 300 files on windows.

Thanks, but that's not what I asked for.  I asked for timing just the
part of searching the load-path.  Emacs startup includes a lot of
stuff, and we here are talking about speeding up the search of
load-path to find a Lisp file.

For that matter, what kind of speedup does the change suggested by
Stefan give in this case?




Message sent to bug-gnu-emacs@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41646: Startup in Windows is very slow when load-path contains many
Resent-From: Stefan Monnier <monnier@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-gnu-emacs@HIDDEN
Resent-Date: Sat, 02 Nov 2024 14:37:01 +0000
Resent-Message-ID: <handler.41646.B41646.173055819620154 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41646
X-GNU-PR-Package: emacs
X-GNU-PR-Keywords: patch fixed
To: Lin Sun <sunlin7.mail@HIDDEN>
Cc: Eli Zaretskii <eliz@HIDDEN>, acorallo@HIDDEN, 41646 <at> debbugs.gnu.org, stefankangas@HIDDEN, monnier@HIDDEN
Received: via spool by 41646-submit <at> debbugs.gnu.org id=B41646.173055819620154
          (code B ref 41646); Sat, 02 Nov 2024 14:37:01 +0000
Received: (at 41646) by debbugs.gnu.org; 2 Nov 2024 14:36:36 +0000
Received: from localhost ([127.0.0.1]:53731 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t7FEx-0005F0-Jg
	for submit <at> debbugs.gnu.org; Sat, 02 Nov 2024 10:36:36 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:17523)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <monnier@HIDDEN>) id 1t7FEu-0005Ep-KL
 for 41646 <at> debbugs.gnu.org; Sat, 02 Nov 2024 10:36:34 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id A9C68100180;
 Sat,  2 Nov 2024 10:29:01 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1730557740;
 bh=9ZNnXFcW8wIfh2Zin+aJgjt4h8YQNEOxfCwlEeBFmdQ=;
 h=From:To:Cc:Subject:In-Reply-To:References:Date:From;
 b=GMvOITFARDQrnlRRoiCEoAVusIDpjFXQZYRYJKByi2P5EUtpiVvOL+rRdjPk8n8It
 QQLU6ZG3GNwQsUpsKeT/3rMx6G/Ki1Jv/Kxj8ODciAQEsi3zDGSPaPJlqWqthjeZ3G
 ajtWvtAIjCE/Hk1hzzcH8PN2JQsiSKFhPKSOjsxDAU+pkjZgKiNZ/kV8DqeOgL17Qd
 Rz4Rhyj9jjdxq84sR0m4afMdoypCmuQm2vklFhEFN6jnt/hhVzEA3U31vFA5Vkzinw
 Z7Vlkb2aytDWWOsrOLVHTJx8avx4I1nSkVE2mrdWYWBgguYKzRBai7sCiisa5FHRPP
 hYYocAaZWp3QQ==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id B760A100043;
 Sat,  2 Nov 2024 10:29:00 -0400 (EDT)
Received: from pastel (104-195-225-43.cpe.teksavvy.com [104.195.225.43])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 785F11203BF;
 Sat,  2 Nov 2024 10:29:00 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
In-Reply-To: <jwvh68qeodd.fsf-monnier+emacs@HIDDEN> (Stefan Monnier's message
 of "Fri, 01 Nov 2024 15:42:27 -0400")
Message-ID: <jwvttcpd9nh.fsf-monnier+emacs@HIDDEN>
References: <CABCREdrcJL1xfhB4NFW-WWRDd2ucMj_rVRTGZw1FqLHJHJFaQg@HIDDEN>
 <CABCREdosvZSGgwrU8bvVtCzK+P0aX3ACCeTDqQXyg+6xhFXzkw@HIDDEN>
 <86r08luqsq.fsf@HIDDEN>
 <CABCREdqtUisaCsV4=-nc7wNJ3P5Z_43yPXrYH1ZwWPGOQuptsw@HIDDEN>
 <86frp1unvu.fsf@HIDDEN>
 <CABCREdp2Ug_wgnj=w=bS-XiYESp6D4Cr4aE2G2wBHTwAttZ=9Q@HIDDEN>
 <86y12stv24.fsf@HIDDEN>
 <CABCREdogicz4OKd0ORAtD_u2Q9HdLSt+DFs9pTqUQ1gcWGFdYg@HIDDEN>
 <CADwFkmmBVNMpKG=TTEJcPSsgiytG-UfVAxe5hS1aeYnSX=97pQ@HIDDEN>
 <86set0th9d.fsf@HIDDEN>
 <CABCREdq2i_x_VNNnb_MikF1JVDH8duYDanTq791QprD4C1uLrQ@HIDDEN>
 <86iktwt49w.fsf@HIDDEN>
 <CABCREdrceSHh8Ak=nyRXhOPzC5A=13zRtZ9ijtSGK0_=foQS5g@HIDDEN>
 <86cyk4t2su.fsf@HIDDEN>
 <CABCREdqoN--QyvhGP00VfR5iSp-C5Yx9BP27nTPe=zJZTMnzKw@HIDDEN>
 <86a5f8t0sf.fsf@HIDDEN>
 <CABCREdo4w7J5=GERBj5cy13qKmnkyyc+oGRb54+JR8744EKRWw@HIDDEN>
 <CABCREdqJP3s1XGfdTGPC=tVuNgjjM9ENzkb5pajNe3U3mRXezA@HIDDEN>
 <jwvmsix4ld1.fsf-monnier+emacs@HIDDEN>
 <CABCREdrcS+vQ4J_GTkAyM3CCf6APL5DhAUgY=G5ccA9Xtag+Jw@HIDDEN>
 <jwvh68qeodd.fsf-monnier+emacs@HIDDEN>
Date: Sat, 02 Nov 2024 10:28:59 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.013 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
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: -3.3 (---)

> In both GNU ELPA and NonGNU ELPA only about 10% of the packages had
> a non-empty common prefix, which means that `load` would be able to
> skip about 90% of the package directories.

Hmm.. so I tried to build a table (represented as a radix tree) that
maps prefixes to the corresponding list of directories where such files
can be found:

    (defun load--build-filter-map (path suffixes)
      (let ((prefix-map radix-tree-empty)
            (completion-regexp-list
             ;; Note 1: Ignore hidden files to weed out `.dir-locals.el'.
             (list (concat "\\`[^.].*" (regexp-opt suffixes) "\\'"))))
        (dolist (dir (reverse path))
          (when (file-directory-p dir)
            ;; FIXME: `prefix' may be *too long* because it includes a suffix,
            ;; as is the case for `leim-list.el' in `lisp/leim'!
            (let* ((prefix (or (ignore-errors (file-name-completion "" dir))
                               ""))
                   (subtree (radix-tree-subtree prefix-map prefix)))
              (unless (radix-tree-lookup subtree "")
                (let ((ps (car (radix-tree-prefixes prefix-map prefix))))
                  (unless (or (null ps) (< (length (car ps)) (length prefix)))
                    (message "prefix=%S   ps = %S" prefix ps))
                  (setq prefix-map (radix-tree-insert prefix-map prefix
                                                      (cons dir (cdr ps))))))
              (radix-tree-iter-mappings
               subtree
               (lambda (subprefix dirs)
                 (setq prefix-map (radix-tree-insert
                                   prefix-map (concat prefix subprefix)
                                   (cons dir dirs))))))))
        prefix-map))

That seems to work.  E.g. in `emacs -Q` we see that the table has a few
different prefixes ("o" for org, "u" for url, "calc" for calc, "mh-" for
mh-e, "e" for eshell, and "" for the rest) and e.g. the prefix "" is
mapped to the list of all dirs except those with a non-empty prefix,
whereas the "o" prefix is mapped to that same list plus the org
subdirectory, ...  Then `load` can use this table to quickly (a single
lookup) replace the full `load-path` with a shorter list.

In my "normal" Emacs, where I have more than 800 entries in `load-path`,
most prefixes are mapped to lists of ~90 entries, which is
a nice improvement.

But there are two problems:

- The above function takes too much time to build the table.  With my
  800 entries it takes ~0.5s to build the table.  This might be
  acceptable if we can make sure it's run only once, but if the table is
  built "on demand" and flushed whenever `load-path` changes, then in my
  config it's called 10 times in a normal startup, presumably because
  it's called at different stages of building `load-path` (I have not
  dug deeper to find the actual source).

- The above table doesn't scale nicely.  The problem is that the number
  of prefixes is more or less proportional to the number of directories,
  but the length of the directories lists associated to each prefix is
  also basically proportional to the number of directories.  So in an
  `emacs -Q` (with a 24-element `load-path`), that table occupies a mere
  4kB but in my full config with 800 elements in `load-path` that grows
  to 500kB.

Maybe the "full table" approach will work better:

    (defun load--build-file-map (path suffixes)
      (let ((map (make-hash-table :test 'equal))
            (completion-regexp-list
             ;; Note 1: Ignore hidden files to weed out `.dir-locals.el'.
             (list (concat "\\`[^.].*" (regexp-opt suffixes) "\\'"))))
        (dolist (dir (reverse path))
          (when (file-directory-p dir)
            ;; FIXME: `prefix' may be *too long* because it includes a suffix,
            ;; as is the case for `leim-list.el' in `lisp/leim'!
            (let* ((files (ignore-errors (file-name-all-completions "" dir)))
                   (dirs (list dir)))
              (dolist (file files) (puthash file dirs map)))))
        map))

this function doesn't try to mess with prefixes and instead collects all
the files in all the directories and builds a "reverse" table which maps
filenames to the directory in which they're found.

- It's much faster to build (~0.1s).
- It filters the `load-path` even more effectively: N hash-table lookups
  (for each of the N suffixes) will return at most N directories where
  the file can be found, and in most cases it returns N times the same
  directory so `load` will typically need to look only at
  a single directory.
- It takes more space: in an `emacs -Q` the table uses up already
  around 180kB.  But it scales better: with my full config the table
  grows "only" to ~730kB.

I get the impression that these tables are too big, tho.  So maybe
a better approach is one that leaves a bit more work to `load`,
e.g. where we build a table that just maps directories to their longest
common prefix (that can be done quickly and doesn't take up
significantly more space than `load-path` itself), and then in `load` or
`openp` we lookup this table to dynamically filter out the elements of
`load-path` that don't apply to the current file: i.e. we still have to
loop through the whole 800-element `load-path` but we'd only touch the
filesystem in the ~90 directories that are not excluded by
their prefix.


        Stefan





Message received at fakecontrol@fakecontrolmessage:


Received: (at fakecontrol) by fakecontrolmessage;
To: internal_control <at> debbugs.gnu.org
From: Debbugs Internal Request <help-debbugs@HIDDEN>
Subject: Internal Control
Message-Id: bug archived.
Date: Sun, 01 Dec 2024 12:24:08 +0000
User-Agent: Fakemail v42.6.9

# This is a fake control message.
#
# The action:
# bug archived.
thanks
# This fakemail brought to you by your local debbugs
# administrator


Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 10 May 2025 09:38:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 10 05:38:04 2025
Received: from localhost ([127.0.0.1]:43959 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1uDgeh-0005ld-Rb
	for submit <at> debbugs.gnu.org; Sat, 10 May 2025 05:38:04 -0400
Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:57739)
 by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.84_2) (envelope-from <monnier@HIDDEN>)
 id 1uDgee-0005l7-TR
 for control <at> debbugs.gnu.org; Sat, 10 May 2025 05:38:01 -0400
Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id EFB461002EC;
 Sat, 10 May 2025 05:37:54 -0400 (EDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca;
 s=mail; t=1746869873;
 bh=gcdiiz0CwnQ23j6x8nqVZNFvuIK3mH/ufk6Vb7l6zPI=;
 h=From:To:Subject:In-Reply-To:References:Date:From;
 b=Evi1ZYgpwG/4Gneh0e8sVYrxzWu1/2bSPbrwfbd2bIk2wa6kcZ4qBHuNTgaI7qz+U
 xp9Y0iI+UGanR5Y/1ZO/5gzNnyU6kyhOTvidDt/A6Zn88Dl6ZKBuOyKtjuiy/nYnss
 6SQwL/NXEVCoF3RI46jqzc7OT0nBK8X/p1Oy2tMv67JzunSlX7q2E60iJZae8HkC1G
 tw4olDZQs2j9AYgl3XxxxK0kS63f0IU/f3h49MnWCmD1ffBKJxiyaDFjXox6Sn9POW
 45MF0coMCB1Vk49/310YTTUHcADn8fDQsOF43Kw4A+5ZaJRNh0V/+RXX/ZV7oIzyeT
 /NbunX4Sa01HA==
Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1])
 by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id D71A1100034;
 Sat, 10 May 2025 05:37:53 -0400 (EDT)
Received: from pastel (104-195-232-56.cpe.teksavvy.com [104.195.232.56])
 by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id A3D7312034F;
 Sat, 10 May 2025 05:37:53 -0400 (EDT)
From: Stefan Monnier <monnier@HIDDEN>
To: control <at> debbugs.gnu.org (GNU bug Tracking System)
Subject: Re: Archived problem report bug#41646 (bug#41646: Startup in
 Windows is very slow when load-path contains many)
In-Reply-To: <handler.x.B41646.174686285228329.unknown <at> debbugs.gnu.org>
Message-ID: <jwvo6w0lsbo.fsf-monnier+emacs@HIDDEN>
References: <jwvtt5tkjvw.fsf-monnier+emacs@HIDDEN>
 <CAFnS-O=GE8k8HMMU0eSzFmvQq2CsuLXBgTv8EVzHe3eraivnzw@HIDDEN>
 <handler.x.B41646.174686285228329.unknown <at> debbugs.gnu.org>
Date: Sat, 10 May 2025 05:37:53 -0400
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain
X-SPAM-INFO: Spam detection results:  0
 ALL_TRUSTED                -1 Passed through trusted hosts only via SMTP
 AWL -0.215 Adjusted score from AWL reputation of From: address
 BAYES_00                 -1.9 Bayes spam probability is 0 to 1%
 DKIM_SIGNED               0.1 Message has a DKIM or DK signature,
 not necessarily valid
 DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature
 DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's
 domain
 DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from
 domain
X-SPAM-LEVEL: 
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: control
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: -3.3 (---)

unarchive 41646






Last modified: Sat, 10 May 2025 09:45:01 UTC

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