emacs-bug-tracker
[Top][All Lists]
Advanced

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

bug#59692: closed (29.0.60; Reduce installation size by disabling byte-c


From: GNU bug Tracking System
Subject: bug#59692: closed (29.0.60; Reduce installation size by disabling byte-compilation for some lisp files that won't benefit)
Date: Tue, 13 Dec 2022 01:05:06 +0000

Your message dated Mon, 12 Dec 2022 17:04:20 -0800
with message-id 
<CADwFkmkKWTFbW3joZBSmrhtyVMW1gRbZpyUfHAAqPhRRkzwJ7g@mail.gmail.com>
and subject line Re: bug#59692: 29.0.60; Reduce installation size by disabling 
byte-compilation for some lisp files that won't benefit
has caused the debbugs.gnu.org bug report #59692,
regarding 29.0.60; Reduce installation size by disabling byte-compilation for 
some lisp files that won't benefit
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
59692: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59692
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: 29.0.60; Reduce installation size by disabling byte-compilation for some lisp files that won't benefit Date: Wed, 30 Nov 2022 03:07:47 +0700 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0

Recently, after each rebuild, I noticed that Emacs' total installation
size has become bigger overtime. That's understandably unavoidable but
there's room for improvement. By analyzing disk usage I discovered
that:

"lisp/leim/"'s compiled elisp files are taking the most significant disk
storage.

By inspecting some of those, I don't think we are able to gain any
practical benefit by compiling them, they don't contain (~)any
function/macro definitions at all.

So I try to disable byte-compilation (by either dir-local vars or
file-local vars) in:

- lisp/leim/ : I disable for the whole directory

And some more .el(s) that I don't find so essential to compile:

- lisp/play/ : not so serious or critical to workflows

- lisp/cedet/{ede,semantic,srecode}/ : we now have LSP/eglot!
- lisp/cedet/{ede.el,semantic.el} : same as above, also a big file by
itself

(I wished pulse.el, mode-local.el, data-debug.el were moved out of this
lisp/cedet/, then putting a single .dir-local.el there would be the
simplest)

- lisp/obsolete/ : already obsolete anyway, but some packages may still
depend on them so no-native-compile only

Then build Emacs again.

The final size of my Emacs installation, compared to before applying
those no-compile local variables:
298.79 MiB -> 253.09 MiB
That's 45.7 MiB disk saved. About 15.3% of total shaved!

Please consider at least "lisp/leim/"'s gigantic files such as
"ZIRANMA.el", "ARRAY30.el", "ja-dic.el" ,etc. as I find those the most
disk-expensive when compiled, yet questionable benefit and waste of time
spending to build.


In GNU Emacs 29.0.60 (build 2, x86_64-pc-linux-gnu, GTK+ Version
3.24.35, cairo version 1.17.6) of 2022-11-30 built on dan-laptop
Repository revision: ec7908204e3d1d415a17813a1fac1a8de334d3b1
Repository branch: makepkg
System Description: Arch Linux

Configured using:
'configure --sysconfdir=/etc --prefix=/usr --libexecdir=/usr/lib
--localstatedir=/var
'--program-transform-name='\''s/\(ctags\)/\1.emacs/'\''' --with-json
--with-libsystemd --with-mailutils --with-modules
--with-native-compilation --with-pgtk --without-xaw3d --with-sound=alsa
--with-tree-sitter --with-xinput2 --with-xwidgets
--with-native-compilation=aot --without-compress-install
'CFLAGS=-march=native -O2 -pipe -fno-plt -fexceptions
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security
-fstack-clash-protection -fcf-protection'
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM XWIDGETS GTK3 ZLIB

-- 
Daanturo.

Attachment: 0001-No-compile-for-some-lisp-directories-and-files.patch
Description: Text Data


--- End Message ---
--- Begin Message --- Subject: Re: bug#59692: 29.0.60; Reduce installation size by disabling byte-compilation for some lisp files that won't benefit Date: Mon, 12 Dec 2022 17:04:20 -0800
Eli Zaretskii <eliz@gnu.org> writes:

> FWIW, I consider this to be a waste of our resources and a long-term
> maintenance burden that I cannot justify, even if I accept your conclusions
> (and I'm not at all convinced that they are completely correct, especially
> since you didn't show any measurements of code speed with and without
> byte-compilation).  50 MiB of disk space is too small to justify keeping
> track of all the files, making decisions which will and will not be
> compiled, etc.  Disk space is cheap these days.
>
> So I don't think we should do this.

I agree, so I'm closing this as wontfix.


--- End Message ---

reply via email to

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