[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Add a configure option for NATIVE_FULL_AOT?

From: Eli Zaretskii
Subject: Re: Add a configure option for NATIVE_FULL_AOT?
Date: Tue, 17 Aug 2021 20:01:56 +0300

> From: Yuri D'Elia <wavexx@thregr.org>
> Date: Tue, 17 Aug 2021 17:32:29 +0200
> > No, only the users who need a file FOO.eln will compile it and have it
> > in their eln-cache.
> I run emacs in a server environment under different users regularly, and
> I consider this a drawback.
> >> The motivation is to compile and install these files once system-wide,
> >> instead of duplicating them in all users' directories. Conceptually they
> >> aren't user specific but belong to the Emacs package.
> >
> > That's... not how this was intended to work.
> >
> > I wonder if anyone else has an opinion here.
> As soon as I discovered NATIVE_FULL_AOT, I've been using it. JIT is
> nice, but it's relatively easy to trigger. Even if that's async, it's
> quite noticeable.
> I personally prefer to pay the AOT price in disk space just from a
> latency perspective. Which is actually a space saving anyway, in a
> multiuser system.
> And speaking of opinions, I'd also wish the eln-cache would be stored in
> an opportune xdg path when an xdg config is being used ;)

Well, then it's a pity you are speaking up just now, instead of 8
months ago, or whenever you discovered NATIVE_FULL_AOT.  We've spent
these months discovering non-trivial problems with the way Emacs is
built by default with natively-compiled Lisp, fixing those problems,
and stabilizing the solutions so that Emacs could go into pretest
soon.  If we now change things under the assumption that
NATIVE_FULL_AOT will be used frequently, let alone by default, we'll
have to redo some of this work, or risk releasing Emacs with potential
build, installation, and usage problems.

I'm not even sure we have infrastructure and user commands to support
this paradigm.  For example, what do you do if all the Lisp files in
Emacs are natively-compiled AOT, and you then modify one of the *.el
files?  With JIT compilation, the new .el file will be automatically
compiled behind the scenes when first loaded.  With all of them
compiled AOT, you will now have an outdated .eln file in the standard
place and a new one in your eln-cache, which will definitely confuse
or bite you some day.

The XDG thing was discussed and we decided not to do that.  Again,
perhaps if you and others spoke back then, maybe we would make a
different decision.

That is why people are generally encouraged to bring up issues as soon
as they discover them and not much later -- so that we could fix them
in time for the next release, and be sure we solve any fallout.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]