unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Björn Lindqvist" <bjourne@gmail.com>
To: emacs-devel@gnu.org
Subject: Bloat in the Emacs Windows package
Date: Wed, 17 Apr 2019 07:01:56 +0200	[thread overview]
Message-ID: <CALG+76cyZ8MqceHtzHNE6Q3WLMsVP73apnrpnBZ_hbETgUbSjQ@mail.gmail.com> (raw)

Hello Emacs developers,

I noticed that the Emacs build of Windows has grown a lot so I started
a thread in help-gnu-emacs called "Emacs 26.1 on Windows is HUGE" and
was referred to this list. So see that thread for background info. The
numbers for the Emacs 24.5.1 and 26.1 Windows files are:

    emacs-26.1-x86_64-no-deps.zip download size: 106M disk size: 410M
    emacs-26.1-x86_64.zip download size: 210M disk size: 725M
    emacs-24.5-bin-i686-mingw32.zip download size: 48M disk size: 167M

For comparison jdk-11.0.2 consumes 278M.

The emacs-26.1-x86_64.zip file is really big. It contains a lot of
files which I wonder why they are necessary. Some examples

    python2.7.exe
    gdbus.exe
    libgdk_pixbuf-2.0-0.dll
    include/jasper/
    include/GL
    include/gnutls AND include/openssl
    lib/systemd
    sqlite3200.dll
    lib/pkgconfig
    lib/cmake
    share/bash-completion
    share/vala
    ...

The emacs-26.1-x86_64-no-deps.zip installation is smaller, but still
double the size of the corresponding 24.5 installation. This seem to
be because all binaries now include debugging symbols. Some examples
of the size increases:

    addpm.exe 577 kB => 2 282 kB
    ctags.exe 956 kB => 3 245 kB
    emacs.exe 8 989 kB => 121 740 kB
    emacs-24.5.exe 8 989 kB => 121 740 kB (emacs-26.1.exe)

The emacs.exe growth is especially annoying because the file is
copied. This seems like poor packaging to me. Why not have an
emacs.bat file calling emacs-26.1.exe and immediately save 121M?

According to the thread on help-gnu-emacs Emacs binaries used to be
stripped of debugging symbols, but aren't anymore and that is what is
causing the size increase. I wonder if we can return that? Most
software ported to Windows, such as MinGW, strips debugging symbols so
it is customary. For most users they are useless because they don't
run emacs.exe in gdb.exe.

For people with limited disk space, metered internet or old hardware
the new, bigger Emacs is a nuisance. On my machine it increases Emacs
start time by a second (although I don't know if that is caused by the
debugging symbols or if it is something else). It is also
aesthetically displeasing -- hackers like minimalism and hate bloat.

And while on the subject of Windows packaging. How come there is no
MSI installer for Emacs? It shouldn't be to hard to put one together
and it would make Emacs a little easier to install for newbies.


-- 
mvh/best regards Björn Lindqvist



             reply	other threads:[~2019-04-17  5:01 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-17  5:01 Björn Lindqvist [this message]
2019-04-17  7:31 ` Bloat in the Emacs Windows package Eli Zaretskii
2019-04-17 11:15   ` Van L
2019-04-17 11:26     ` Eli Zaretskii
2019-04-17 12:39   ` Stefan Monnier
2019-04-17 14:49     ` Eli Zaretskii
2019-04-17 16:17       ` Eli Zaretskii
2019-04-18 22:02         ` Björn Lindqvist
2019-04-19  7:00           ` Eli Zaretskii
2019-04-17 17:26     ` Phillip Lord
2019-04-17 17:55       ` Stefan Monnier
2019-04-19  0:02       ` Björn Lindqvist
2019-04-19  7:33         ` Eli Zaretskii
2019-04-19 13:23           ` Óscar Fuentes
2019-04-22 21:04             ` Phillip Lord
2019-04-22 21:41               ` Óscar Fuentes
2019-04-17 13:42   ` Stefan Monnier
2019-04-17 16:19     ` Óscar Fuentes
2019-04-17 17:28     ` Phillip Lord
2019-04-17 15:07   ` Björn Lindqvist
2019-04-17 16:32     ` Eli Zaretskii
2019-04-18 23:44       ` Björn Lindqvist
2019-04-19  7:27         ` Eli Zaretskii
2019-04-19 14:17           ` Óscar Fuentes
2019-04-19 15:05             ` Eli Zaretskii
2019-04-22 20:55             ` Phillip Lord
2019-04-17 17:39     ` Phillip Lord
2019-04-17 18:06       ` Stefan Monnier
2019-04-17 18:32       ` Eli Zaretskii
2019-04-18 16:05         ` Phillip Lord
2019-04-18 19:08           ` Eli Zaretskii
2019-04-18 21:19             ` Phillip Lord
2019-04-18 23:12               ` Óscar Fuentes
2019-04-19  6:29               ` Eli Zaretskii
2019-04-22 20:40                 ` Phillip Lord
2019-04-23  2:25                   ` Stefan Monnier
2019-04-23 10:01                     ` Phillip Lord
2019-04-23 11:28                       ` Robert Pluim
2019-04-23 21:49                         ` Phillip Lord
2019-04-26 16:30                       ` Phillip Lord
2019-04-26 17:04                         ` Óscar Fuentes
2019-04-26 21:41                           ` Phillip Lord
2019-04-27 18:12                         ` Björn Lindqvist
2019-04-27 18:17                           ` Phillip Lord
2019-05-03  1:06                             ` Björn Lindqvist
2019-05-03  6:49                               ` Eli Zaretskii
2019-05-03 18:38                                 ` Björn Lindqvist
2019-05-03 18:42                                   ` Eli Zaretskii
2019-05-03 20:20                                     ` Stefan Monnier
2019-04-23  5:37                   ` Eli Zaretskii
2019-04-17 15:44 ` Phillip Lord
2019-04-17 16:25   ` Óscar Fuentes
2019-04-17 16:46     ` Eli Zaretskii
2019-04-18 16:00       ` Phillip Lord
2019-04-18 15:56     ` Phillip Lord
2019-04-18 16:39       ` Óscar Fuentes

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=CALG+76cyZ8MqceHtzHNE6Q3WLMsVP73apnrpnBZ_hbETgUbSjQ@mail.gmail.com \
    --to=bjourne@gmail.com \
    --cc=emacs-devel@gnu.org \
    /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).