From: Eli Zaretskii <eliz@gnu.org>
To: Sean Whitton <spwhitton@spwhitton.name>
Cc: david@tethera.net, emacs-devel@gnu.org, akrl@sdf.org,
rlb@defaultvalue.org
Subject: Re: Suppressing native compilation (short and long term)
Date: Fri, 30 Sep 2022 19:02:17 +0300 [thread overview]
Message-ID: <83wn9kdf5i.fsf@gnu.org> (raw)
In-Reply-To: <87v8p4kj3n.fsf@melete.silentflame.com> (message from Sean Whitton on Fri, 30 Sep 2022 07:55:08 -0700)
> From: Sean Whitton <spwhitton@spwhitton.name>
> Cc: David Bremner <david@tethera.net>, emacs-devel@gnu.org, akrl@sdf.org,
> rlb@defaultvalue.org
> Date: Fri, 30 Sep 2022 07:55:08 -0700
>
> We currently bytecompile during package installation, and would like
> also to do the native compilation at that time.
>
> The main reason for bytecompiling at package installation is that we
> have logic to purge and recompile anything whose dependency versions
> have changed, which means that all bytecode installed on Debian systems
> was generated using known-correct macro definitions. Historically
> ordinary Emacs processes running in non-batch mode have not guaranteed
> this; I recall that the Org-mode developers discouraged use of ELPA to
> install newer versions of Org because of these sorts of issues.
This problem doesn't exist with *.eln files, because Emacs will
regenerate new .eln files with different hashes in its name when the
source file or the Emacs binary changes. So you do not have to
trigger native compilation for these reasons.
> A secondary reason is that it makes sense to compile once, system-wide,
> rather than repeatedly in each user's home directory.
I think this is misguided. If the user never loads a package, there's
no reason to produce the *.eln files for it. At best it litters the
disk with useless files. At worst, compilation could cause warnings
or even errors, which are just an annoyance when the package is not
going to be used for a long time, or not at all.
These considerations are the reason why *.eln files are compiled JIT
and on-demand. It is not a coincidence or lack of thought on our
part, it is the result of considering many factors.
I think you are trying to deal with *.eln files and with
native-compilation in general as if it were a slightly different kind
of byte-compilation. That is a mistake: it's a qualitatively
different feature with different traits and different user-facing
and administrator-facing aspects.
> It is also nice that you can know everything is already in place
> once your package is installed, so that I can unplug my laptop once
> the package manager has exited, and I know that it isn't going to do
> any CPU-intensive compilation and drain my battery.
The *.eln files should not be part of "everything is in place",
because they will be produced when needed. No user involvement or
interaction is necessary.
next prev parent reply other threads:[~2022-09-30 16:02 UTC|newest]
Thread overview: 349+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-30 13:13 Suppressing native compilation (short and long term) David Bremner
2022-09-30 13:56 ` Eli Zaretskii
2022-09-30 14:33 ` David Bremner
2022-09-30 15:47 ` Eli Zaretskii
2022-09-30 14:55 ` Sean Whitton
2022-09-30 16:02 ` Eli Zaretskii [this message]
2022-09-30 15:32 ` Stefan Monnier
2022-09-30 16:06 ` Eli Zaretskii
2022-10-01 16:38 ` Rob Browning
2022-10-01 16:52 ` Eli Zaretskii
2022-10-01 20:42 ` Rob Browning
2022-10-02 5:57 ` Eli Zaretskii
2022-10-02 6:10 ` tomas
2022-10-02 6:44 ` Eli Zaretskii
2022-10-02 15:54 ` tomas
2022-10-02 16:02 ` Eli Zaretskii
2022-10-02 16:13 ` chad
2022-10-02 16:55 ` Eli Zaretskii
2022-10-02 17:13 ` Stefan Monnier
2022-10-02 17:24 ` Eli Zaretskii
2022-10-02 17:25 ` Rob Browning
2022-10-02 16:53 ` Stefan Monnier
2022-10-02 17:16 ` Eli Zaretskii
2022-10-02 18:12 ` Rob Browning
2022-10-02 18:40 ` Eli Zaretskii
2022-10-02 18:51 ` Rob Browning
2022-10-02 17:17 ` Lars Ingebrigtsen
2022-10-02 17:28 ` Stefan Monnier
2022-10-02 17:36 ` Lars Ingebrigtsen
2022-10-02 17:38 ` Eli Zaretskii
2022-10-02 18:17 ` Rob Browning
2022-10-02 19:08 ` Lars Ingebrigtsen
2022-10-02 19:15 ` Eli Zaretskii
2022-10-03 9:12 ` Lars Ingebrigtsen
2022-10-03 11:32 ` Lars Ingebrigtsen
2022-10-03 13:07 ` Stefan Monnier
2022-10-03 13:29 ` Lars Ingebrigtsen
2022-10-03 13:42 ` Stefan Monnier
2022-10-03 14:09 ` Lars Ingebrigtsen
2022-10-03 14:42 ` Stefan Monnier
2022-10-03 14:45 ` Lars Ingebrigtsen
2022-10-03 14:52 ` Stefan Monnier
2022-10-03 15:14 ` Lars Ingebrigtsen
2022-10-05 12:55 ` Andrea Corallo
2022-10-05 13:14 ` Lars Ingebrigtsen
2022-10-05 13:47 ` Andrea Corallo
2022-10-05 13:55 ` Eli Zaretskii
2022-10-05 14:08 ` Andrea Corallo
2022-10-03 15:18 ` [External] : " Drew Adams
2022-10-03 17:21 ` Eli Zaretskii
2022-10-03 17:39 ` Lars Ingebrigtsen
2022-10-03 17:52 ` Eli Zaretskii
2022-10-05 13:05 ` Andrea Corallo
2022-10-05 13:09 ` Andrea Corallo
2022-10-05 12:51 ` Andrea Corallo
2022-10-03 17:16 ` Eli Zaretskii
2022-10-03 18:21 ` Sean Whitton
2022-10-03 20:43 ` Stefan Monnier
2022-10-03 17:44 ` Eli Zaretskii
2022-10-05 13:18 ` Andrea Corallo
2022-10-05 14:01 ` Lars Ingebrigtsen
2022-10-05 14:17 ` Eli Zaretskii
2022-10-05 14:27 ` Lars Ingebrigtsen
2022-10-05 16:42 ` Eli Zaretskii
2022-10-05 17:08 ` Lars Ingebrigtsen
2022-10-05 17:15 ` Eli Zaretskii
2022-10-06 0:41 ` Po Lu
2022-10-06 0:40 ` Po Lu
2022-10-06 6:26 ` Eli Zaretskii
2022-10-05 14:25 ` Andrea Corallo
2022-10-05 14:29 ` Lars Ingebrigtsen
2022-10-05 14:48 ` Andrea Corallo
2022-10-05 14:58 ` Lars Ingebrigtsen
2022-10-05 15:12 ` Andrea Corallo
2022-10-05 15:24 ` Lars Ingebrigtsen
2022-10-05 15:36 ` Lars Ingebrigtsen
2022-10-05 16:10 ` Andrea Corallo
2022-10-05 16:13 ` Lars Ingebrigtsen
2022-10-05 17:58 ` Andrea Corallo
2022-10-05 18:28 ` Lars Ingebrigtsen
2022-10-05 23:25 ` Andrea Corallo
2022-10-05 23:33 ` Lars Ingebrigtsen
2022-10-06 0:45 ` Andrea Corallo
2022-10-06 0:55 ` Lars Ingebrigtsen
2022-10-06 6:33 ` Eli Zaretskii
2022-11-05 1:09 ` Juanma Barranquero
2022-11-05 6:44 ` Eli Zaretskii
2022-11-05 10:12 ` Dr. Arne Babenhauserheide
2022-11-05 11:19 ` Eli Zaretskii
2022-11-06 11:06 ` Max Brieiev
2022-11-06 16:31 ` Dr. Arne Babenhauserheide
2022-11-06 18:00 ` Stefan Monnier
2022-11-07 9:22 ` Andrea Corallo
2022-11-08 5:51 ` Björn Bidar
2022-11-08 11:23 ` Andrea Corallo
2022-11-08 11:43 ` Parallel native compilation Björn Bidar
2022-11-08 12:35 ` Andrea Corallo
2022-11-08 12:13 ` Suppressing native compilation (short and long term) Eli Zaretskii
2022-11-05 11:53 ` Juanma Barranquero
2022-11-05 12:44 ` Eli Zaretskii
2022-11-05 13:12 ` Juanma Barranquero
2022-11-05 13:35 ` Eli Zaretskii
2022-11-05 14:09 ` Juanma Barranquero
2022-10-05 16:04 ` Andrea Corallo
2022-10-05 16:12 ` Lars Ingebrigtsen
2022-10-05 16:28 ` Andrea Corallo
2022-10-05 16:43 ` Eli Zaretskii
2022-10-06 0:44 ` Po Lu
2022-10-06 0:56 ` Lars Ingebrigtsen
2022-10-06 6:41 ` Eli Zaretskii
2022-10-06 6:28 ` Eli Zaretskii
2022-10-14 17:53 ` Rob Browning
2022-10-14 18:36 ` Stefan Monnier
2022-10-14 19:06 ` Eli Zaretskii
2022-10-14 21:17 ` Rob Browning
2022-10-15 3:07 ` Stefan Monnier
2022-10-15 16:34 ` Rob Browning
2022-10-15 23:16 ` Stefan Monnier
2022-10-15 6:30 ` Eli Zaretskii
2022-10-15 17:00 ` Rob Browning
2022-10-15 9:32 ` Lars Ingebrigtsen
2022-10-15 16:48 ` Sean Whitton
2022-10-16 8:56 ` Lars Ingebrigtsen
2022-10-15 17:21 ` Rob Browning
2022-10-15 17:25 ` Eli Zaretskii
2022-10-16 9:01 ` Lars Ingebrigtsen
2022-10-16 16:59 ` Rob Browning
2022-10-17 10:37 ` Lars Ingebrigtsen
2022-10-05 20:37 ` Lars Ingebrigtsen
2022-10-05 23:40 ` Andrea Corallo
2022-10-05 23:46 ` Lars Ingebrigtsen
2022-10-06 0:34 ` Andrea Corallo
2022-10-06 0:39 ` Lars Ingebrigtsen
2022-10-06 1:03 ` Andrea Corallo
2022-10-06 1:07 ` Lars Ingebrigtsen
2022-10-06 1:19 ` Andrea Corallo
2022-10-06 1:26 ` Lars Ingebrigtsen
2022-10-06 1:39 ` Andrea Corallo
2022-10-06 12:07 ` Lars Ingebrigtsen
2022-10-06 4:32 ` Repeatable testing [was: Suppressing native compilation...] tomas
2022-10-06 5:04 ` Emanuel Berg
2022-10-06 6:52 ` Repeatable testing Eli Zaretskii
2022-10-02 20:05 ` Suppressing native compilation (short and long term) Rob Browning
2022-10-02 20:10 ` Lars Ingebrigtsen
2022-10-05 13:19 ` Andrea Corallo
2022-10-05 12:43 ` Andrea Corallo
2022-10-05 13:16 ` Lars Ingebrigtsen
2022-10-05 13:29 ` Andrea Corallo
2022-10-05 14:03 ` Eli Zaretskii
2022-10-02 17:30 ` Eli Zaretskii
2022-10-02 17:38 ` Lars Ingebrigtsen
2022-10-02 17:48 ` Eli Zaretskii
2022-10-02 17:37 ` Rob Browning
2022-10-02 17:44 ` Eli Zaretskii
2022-10-02 18:21 ` Rob Browning
2022-10-02 18:43 ` Eli Zaretskii
2022-10-02 23:53 ` Sean Whitton
2022-10-02 17:15 ` Rob Browning
2022-10-02 17:25 ` Stefan Monnier
2022-10-02 18:11 ` Stefan Kangas
2022-10-02 18:26 ` Stefan Monnier
2022-10-02 18:57 ` Stefan Kangas
2022-10-02 17:26 ` Eli Zaretskii
2022-10-02 23:51 ` Sean Whitton
2022-10-03 16:19 ` Eli Zaretskii
2022-10-03 18:23 ` Sean Whitton
2022-10-03 18:44 ` Eli Zaretskii
2022-10-04 0:31 ` Po Lu
2022-10-04 6:57 ` Eli Zaretskii
2022-10-04 8:37 ` Po Lu
2022-10-04 9:25 ` Eli Zaretskii
2022-10-04 9:51 ` Po Lu
2022-10-05 13:58 ` Po Lu
2022-10-05 15:02 ` Lars Ingebrigtsen
2022-10-05 16:47 ` Eli Zaretskii
2022-10-05 17:59 ` tomas
2022-10-05 18:28 ` Eli Zaretskii
2022-10-05 18:56 ` tomas
2022-10-05 19:04 ` Eli Zaretskii
2022-10-05 19:40 ` tomas
2022-10-05 19:29 ` Gregory Heytings
2022-10-05 19:38 ` Eli Zaretskii
2022-10-05 20:04 ` Gregory Heytings
2022-10-06 5:28 ` Eli Zaretskii
2022-10-06 6:35 ` tomas
2022-10-05 16:43 ` Eli Zaretskii
2022-10-06 0:34 ` Po Lu
2022-10-06 6:21 ` Eli Zaretskii
2022-10-06 7:11 ` Po Lu
2022-10-06 8:03 ` Eli Zaretskii
2022-10-06 9:02 ` tomas
2022-10-06 10:13 ` Eli Zaretskii
2022-10-06 11:49 ` tomas
2022-10-07 12:40 ` Eli Zaretskii
2022-10-06 9:52 ` Po Lu
2022-10-06 10:17 ` Eli Zaretskii
2022-10-06 10:41 ` Andrea Corallo
2022-10-06 10:54 ` Eli Zaretskii
2022-10-04 23:26 ` Sean Whitton
2022-10-02 5:58 ` tomas
2022-10-02 6:42 ` Eli Zaretskii
2022-10-02 15:53 ` tomas
2022-10-02 16:11 ` Eli Zaretskii
2022-10-02 16:23 ` chad
2022-10-02 16:59 ` Eli Zaretskii
2022-10-02 18:35 ` Rob Browning
2022-10-02 18:54 ` Eli Zaretskii
2022-10-02 19:37 ` Rob Browning
2022-10-02 17:57 ` Rob Browning
2022-10-02 18:06 ` Lars Ingebrigtsen
2022-10-02 18:35 ` Eli Zaretskii
2022-10-02 18:41 ` Rob Browning
2022-10-02 19:00 ` Eli Zaretskii
2022-10-02 19:50 ` Rob Browning
2022-10-03 17:41 ` Eli Zaretskii
2022-10-03 18:17 ` tomas
2022-10-03 18:41 ` Eli Zaretskii
2022-10-03 19:02 ` tomas
2022-10-03 19:04 ` Eli Zaretskii
2022-10-03 18:45 ` Stefan Monnier
2022-10-03 18:52 ` Eli Zaretskii
2022-10-04 0:16 ` Rob Browning
2022-10-04 9:30 ` Eli Zaretskii
2022-10-05 0:48 ` Rob Browning
2022-10-05 7:39 ` Eli Zaretskii
2022-10-08 17:47 ` Michael Welsh Duggan
2022-10-15 17:39 ` Rob Browning
2022-10-02 18:25 ` Stefan Monnier
2022-10-02 18:32 ` Eli Zaretskii
2022-10-02 18:37 ` Lars Ingebrigtsen
2022-10-02 18:46 ` Rob Browning
2022-10-02 18:57 ` Eli Zaretskii
2022-10-02 19:01 ` Lars Ingebrigtsen
2022-10-02 19:03 ` Eli Zaretskii
2022-10-02 19:58 ` Stefan Monnier
2022-10-02 20:09 ` Stefan Monnier
2022-10-02 16:27 ` tomas
2022-10-02 17:01 ` Eli Zaretskii
2022-10-02 18:37 ` Rob Browning
2022-10-02 18:58 ` Eli Zaretskii
2022-10-02 19:58 ` Rob Browning
2022-10-02 20:51 ` tomas
2022-10-02 23:58 ` Sean Whitton
2022-10-03 16:24 ` Eli Zaretskii
2022-10-03 18:23 ` Sean Whitton
2022-10-03 18:46 ` Eli Zaretskii
2022-10-02 18:32 ` Rob Browning
2022-10-02 18:51 ` Eli Zaretskii
2022-10-02 19:57 ` Rob Browning
2022-10-03 15:48 ` Eli Zaretskii
2022-10-03 16:39 ` Stefan Monnier
2022-10-03 17:30 ` Eli Zaretskii
2022-10-03 18:33 ` Stefan Monnier
2022-10-03 18:49 ` Eli Zaretskii
2022-10-03 21:58 ` Stefan Kangas
2022-10-04 6:10 ` Eli Zaretskii
2022-10-04 13:30 ` Stefan Monnier
2022-09-30 15:38 ` Stefan Monnier
2022-09-30 17:05 ` David Bremner
2022-09-30 17:32 ` David Bremner
-- strict thread matches above, loose matches on Subject: below --
2022-10-23 18:43 Gregor Zattler
2022-10-23 15:22 Gregor Zattler
2022-10-23 16:07 ` Eli Zaretskii
2022-10-23 17:08 ` Gregor Zattler
2022-10-23 17:30 ` Eli Zaretskii
2022-10-23 17:33 ` Gregor Zattler
2022-10-23 17:34 ` Eli Zaretskii
2022-10-23 17:39 ` Eli Zaretskii
2022-10-23 18:55 ` Gregor Zattler
2022-10-24 18:35 ` Gregor Zattler
2022-10-24 19:04 ` Eli Zaretskii
2022-09-28 1:04 Rob Browning
2022-09-28 11:02 ` Lars Ingebrigtsen
2022-09-28 11:35 ` Eli Zaretskii
2022-10-12 20:22 ` Liliana Marie Prikler
2022-10-13 5:46 ` Eli Zaretskii
2022-10-13 19:20 ` Liliana Marie Prikler
2022-10-13 20:10 ` Stefan Monnier
2022-10-13 20:26 ` Eli Zaretskii
2022-10-13 20:57 ` Lars Ingebrigtsen
2022-10-13 21:29 ` Lars Ingebrigtsen
2022-10-14 22:37 ` Andrea Corallo
2022-10-15 3:09 ` Stefan Monnier
2022-10-15 15:06 ` Andrea Corallo
2022-10-15 16:16 ` Stefan Monnier
2022-10-15 9:24 ` Lars Ingebrigtsen
2022-10-15 15:02 ` Andrea Corallo
2022-10-16 8:52 ` Lars Ingebrigtsen
2022-10-16 9:29 ` Liliana Marie Prikler
2022-10-16 13:45 ` Stefan Monnier
2022-10-16 13:47 ` Lars Ingebrigtsen
2022-10-19 19:39 ` Andrea Corallo
2022-10-14 6:08 ` Eli Zaretskii
2022-10-14 23:20 ` Andrea Corallo
2022-10-15 3:14 ` Stefan Monnier
2022-10-15 6:40 ` Liliana Marie Prikler
2022-10-15 7:14 ` Eli Zaretskii
2022-10-15 14:00 ` Stefan Monnier
2022-10-15 14:10 ` Lynn Winebarger
2022-10-15 14:29 ` Eli Zaretskii
2022-10-16 11:55 ` Lynn Winebarger
2022-10-17 7:34 ` Andrea Corallo
2022-10-18 22:26 ` Lynn Winebarger
2022-10-19 19:33 ` Andrea Corallo
2022-10-15 15:10 ` Andrea Corallo
2022-10-15 16:17 ` Stefan Monnier
2022-10-17 7:20 ` Andrea Corallo
2022-10-15 7:04 ` Eli Zaretskii
2022-10-15 15:19 ` Andrea Corallo
2022-10-15 16:26 ` Eli Zaretskii
2022-10-15 17:19 ` Eli Zaretskii
2022-10-17 7:21 ` Andrea Corallo
2022-10-18 8:52 ` Andrea Corallo
2022-10-18 11:27 ` Lars Ingebrigtsen
2022-10-18 13:56 ` Andrea Corallo
2022-10-18 18:12 ` Lars Ingebrigtsen
2022-10-18 13:55 ` Stefan Monnier
2022-10-15 9:25 ` Lars Ingebrigtsen
2022-10-15 15:20 ` Andrea Corallo
2022-10-15 14:18 ` Lynn Winebarger
2022-10-15 17:06 ` Sean Whitton
2022-10-15 17:12 ` Eli Zaretskii
2022-10-15 17:36 ` Sean Whitton
2022-10-13 20:22 ` Eli Zaretskii
2022-10-14 19:46 ` Liliana Marie Prikler
2022-10-15 8:51 ` Eli Zaretskii
2022-10-15 15:53 ` Andrea Corallo
2022-10-15 9:33 ` Lars Ingebrigtsen
2022-10-15 14:35 ` Liliana Marie Prikler
2022-10-15 15:56 ` Andrea Corallo
2022-10-15 16:24 ` Liliana Marie Prikler
2022-10-17 7:23 ` Andrea Corallo
2022-10-17 16:59 ` Liliana Marie Prikler
2022-10-17 17:07 ` Eli Zaretskii
2022-10-16 8:55 ` Lars Ingebrigtsen
2022-10-16 9:27 ` Liliana Marie Prikler
2022-10-16 9:35 ` Lars Ingebrigtsen
2022-10-17 7:30 ` Andrea Corallo
2022-10-17 11:20 ` Lars Ingebrigtsen
2022-09-28 12:52 ` Andrea Corallo
2022-09-28 17:04 ` Eli Zaretskii
2022-09-28 18:49 ` Andrea Corallo
2022-09-28 19:10 ` Eli Zaretskii
2022-09-28 21:32 ` Andrea Corallo
2022-09-29 5:56 ` Eli Zaretskii
2022-09-29 8:18 ` Andrea Corallo
2022-09-29 9:01 ` Eli Zaretskii
2022-09-29 14:32 ` Andrea Corallo
2022-09-29 15:50 ` Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83wn9kdf5i.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=akrl@sdf.org \
--cc=david@tethera.net \
--cc=emacs-devel@gnu.org \
--cc=rlb@defaultvalue.org \
--cc=spwhitton@spwhitton.name \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).