[Top][All Lists]

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

Re: Enabling native compilation by default when libgccjit is present

From: Eli Zaretskii
Subject: Re: Enabling native compilation by default when libgccjit is present
Date: Tue, 07 Dec 2021 15:53:29 +0200

> From: Michael Heerdegen <michael_heerdegen@web.de>
> Cc: emacs-devel@gnu.org
> Date: Tue, 07 Dec 2021 05:38:41 +0100
> Eli Zaretskii <eliz@gnu.org> writes:
> > It is normal, yes.  You are supposed to either fix the warnings by
> > adding the missing 'require's, or tell Emacs not to natively-compile
> > the files where you don't want that (like your init files), or
> > customize the option to turn off the warnings.
> But don't you think these warnings should not be presented to the end
> user who maybe doesn't know what these warnings mean?  I mean, these
> warnings pop up while using Emacs, not when installing or upgrading.

That these warning appear during routine usage is a direct consequence
of JIT compilation.  This JIT compilation can be disabled, but IMO
doing so by default would make little sense.  So the warnings are the
price we pay for having Emacs silently compile code in the background.
But once we agree to have it compile automatically, it should be clear
that messages related to compilation will be produced, and ignoring
those messages might not necessarily be a good idea.

> Even after every restart.

No, not unless the code changes between restarts.  If the code doesn't
change, then this compilation is a one-time thing (assuming you left
Emacs up and running enough seconds to allow it to finish the

> And it takes a while, and there are a lot.

The first time you fire up Emacs with native-compilation, yes, it
can take a few minutes (how many depends on how many packages you load
at startup).  But again, this is a one-time thing, and it is quite
fast even the first time.

> I think that has to be improved before it gets the default behavior
> in a release.

We don't build Emacs with native-compilation by default yet, you have
to request that at configure time.  This discussion is about the
warnings which are emitted when you did request feature, not about
whether the feature itself should be included by default.

reply via email to

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