emacs-devel
[Top][All Lists]
Advanced

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

Bloat in the Emacs Windows package


From: Björn Lindqvist
Subject: Bloat in the Emacs Windows package
Date: Wed, 17 Apr 2019 07:01:56 +0200

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 via email to

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