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
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
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.
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.
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?
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
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.
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--
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
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
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.
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
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
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
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
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
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
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
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
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.
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.
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'?
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?
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
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?
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
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.
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--
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--
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
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.
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--
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
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.
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
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?
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
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.
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.
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.
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.
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
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.
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
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?
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.
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.
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?
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
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
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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.