Subject: Re: bug#74382: `compile-first` Make rule is no longer using `load-prefer-newer`

From: Eli Zaretskii <[email-masked]>
Date: Mon, 18 Nov 2024 15:38:31 +0200

> From: Konstantin Kharlamov <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Mon, 18 Nov 2024 16:12:08 +0300
> 
> > Once again, building all the *.elc files takes a long time, even on
> > modern systems.  I have a 32-core screamer, and it still takes a few
> > minutes to byte-compile everything.  On an older system, it used to
> > take me 15 minutes even in parallel (-j4) builds.
> > 
> > Computers got much faster, but people know that, so they have less
> > patience.  Thus, avoiding recompilation of the *.elc files (and Info,
> > and other derived files) is still important to make the build faster.
> > A release tarball builds in less than 1 min due to these measures.
> 
> 3 and even 15 minutes of compilation once a few months at worst (the
> time between Emacs releases) is not a big deal. Besides, the endusers
> don't typically compile releases, instead distro packagers do that, and
> they are typically using CI.

That's your opinions, not mine.  From my POV, having these files in
the tarball makes the build much faster and also much more reliable
and correct.  That means a lot, even if you don't value that.

> Emacs by far is not the slowest project to compile from scratch. AFAIR
> LibreOffce and Linux Kernel take longer to build.

So we are supposed to judge ourselves by the lowest common
denominator?

> This is tangentially related to `make clean` discussoin. I was just
> curious how come that Emacs started distributing elc files in release
> tarballs.

Any project that doesn't distribute platform-independent files in its
tarball does a disservice to its users.  There's absolutely no reason
not to include them, and more than one to include: time it takes to
build them, tools required for building them that are otherwise not
needed, etc.