unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: Eli Zaretskii <eliz@gnu.org>
Cc: rlb@defaultvalue.org,  tomas@tuxteam.de,  emacs-devel@gnu.org
Subject: Re: Suppressing native compilation (short and long term)
Date: Mon, 03 Oct 2022 14:33:09 -0400	[thread overview]
Message-ID: <jwv1qrog4e0.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <83mtacyfvl.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 03 Oct 2022 20:30:06 +0300")

>> FWIW, during the stealth jit-lock discussion, several people mentioned the
>> battery impact.
> Yes.  And jit-stealth is different, in that it takes a much longer
> time for it to become quiet, because it works in small chinks, and
> only when Emacs is actually idle.  JIT native-compilation is much
> faster, and also uses several execution units of the CPU in parallel.

Indeed, it's quite different.  I think even more important than the
above is the fact that it's a one-time thing only (for typical use cases
at least), whereas the jit-lock-stealth cost was paid over and over
again after every buffer modification.

>> And the issue is not subprocesses per se, but it's extra processing that
>> happens outside of the control of the user.
> How do you mean "outside of the control of the user"?  The user causes
> it by loading a feature.

When a user loads a feature, this request doesn't say explicitly "and
native compile the file".  And there is no direct way to "just load this
package without compiling it".  So the compilation is not really under
the control of the user.

I don't think users know, when they load a feature, if it's the first
time they loaded this feature in this version of Emacs, so by and large
they can't predict when the compilation does happen.

To be clear: I don't think it's a problem.  I just think it's part of
the reason for the reaction.

> How is that different from any other command that uses a subprocess
> under the hood?

It's different in that for those other commands, the users cannot get
the result they want without running that subprocess, so even if they're
not fully aware of it, they do have some vague idea it's inevitably
going to happen.

In contrast, the compilation is not indispensable, (so much so that the
past it never happened).

>> Probably not, no.  It's likely mostly a question of perception, so if we
>> could make it completely invisible the "problem" would disappear :-)
>> But the fact that lazy native compilation tends to pop up warnings (and
>> to make matters worse, it does so ... without warning) makes it very
>> much visible instead.
>
> On my system, I don't see any warnings.

That's presumably because you stick to the bundled packages (where we've
managed to keep a "no compilation warnings" state for the last few
years) or the few third party packages which are careful enough to
eliminate all warnings.

The rise of ELPA has removed most of the cases where native compilation
will miscompile files (because ELPA forces the .el files to be compiled
in a "standard" way rather than using ad-hoc Makefile rules which the
native compiler cannot and does not try to reproduce), but compilation
warnings are still very common (the situation is improving, tho, and
arguably the warnings popping up out of the blue during lazy native
compilation may prove to be a good way to convince more package authors
to clean up their act).


        Stefan




  reply	other threads:[~2022-10-03 18:33 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
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 [this message]
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=jwv1qrog4e0.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rlb@defaultvalue.org \
    --cc=tomas@tuxteam.de \
    /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).