From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: phillip.lord@russet.org.uk (Phillip Lord) Newsgroups: gmane.emacs.devel Subject: Re: Bloat in the Emacs Windows package Date: Wed, 17 Apr 2019 16:44:05 +0100 Message-ID: <87zhood4ca.fsf@russet.org.uk> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="129085"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) Cc: emacs-devel@gnu.org To: =?utf-8?Q?Bj=C3=B6rn?= Lindqvist Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 17 17:44:46 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hGmjt-000XRA-U7 for ged-emacs-devel@m.gmane.org; Wed, 17 Apr 2019 17:44:46 +0200 Original-Received: from localhost ([127.0.0.1]:55564 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hGmjs-0007Lp-TQ for ged-emacs-devel@m.gmane.org; Wed, 17 Apr 2019 11:44:44 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:38704) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hGmjI-0007LU-Vv for emacs-devel@gnu.org; Wed, 17 Apr 2019 11:44:10 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hGmjH-0002ji-Oa for emacs-devel@gnu.org; Wed, 17 Apr 2019 11:44:08 -0400 Original-Received: from cloud103.planethippo.com ([78.129.138.110]:38966) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hGmjH-0002iM-5t for emacs-devel@gnu.org; Wed, 17 Apr 2019 11:44:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=russet.org.uk; s=default; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Message-ID:In-Reply-To:Date:References:Subject:Cc:To:From:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=tt9zT38L1Lnh5KpCValYbtag0prrHEVAtofbxdOuvDY=; b=Xl8IH5O3TfcQ7lC5nbvymdT6mC JJlBtH3k794iZTpxMlhkLksfl699ftukWG2oWEt8wG5jSWOSVQWM4WeRwkU75TJm/6B+SGVQYJB1/ 5LTlTitpU4wfAEkd9MVzuSNgshUugynjPpD+5mXB+4FDD9mR6NpSBiR9PSLC87vsv++ZW5nX+Afso rwJtkASh2U4guXj6VJx0WIJoIL3/D58Xb8MdBhuVwgMb3EvIw7oS8ExevNsdXwObhfShfX8TWzHxk 4GMWiRtqeZQeZBCu1lSrlRKNVD00Gn2QXwMaFMNJwpCnt3TRTJG80brX5HDKtzJ9RHd1fmrE8UIC+ O+B2xgcQ==; Original-Received: from janus-nat-128-240-225-124.ncl.ac.uk ([128.240.225.124]:41763 helo=russet.org.uk) by cloud103.planethippo.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1hGmjF-0004tO-MD; Wed, 17 Apr 2019 16:44:05 +0100 In-Reply-To: (=?utf-8?Q?=22Bj=C3=B6rn?= Lindqvist"'s message of "Wed, 17 Apr 2019 07:01:56 +0200") X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - cloud103.planethippo.com X-AntiAbuse: Original Domain - gnu.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - russet.org.uk X-Get-Message-Sender-Via: cloud103.planethippo.com: authenticated_id: phillip.lord@russet.org.uk X-Authenticated-Sender: cloud103.planethippo.com: phillip.lord@russet.org.uk X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 78.129.138.110 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:235584 Archived-At: Bj=C3=B6rn Lindqvist writes: > 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 Yes. I have produced these via a script which is simplistic. You can find it at admin/nt/dist-build/build-dep-zips.py. It is basically the transitive dependencies of all Emacs dependencies. It's undoubtly to wide (including python for example as you point out). This does give Emacs a fairly full msys install. It would be possible to shrink it do the direct dependencies (i.e. the lib files), but decided completeness made more sense. > ... > > 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 =3D> 2 282 kB > ctags.exe 956 kB =3D> 3 245 kB > emacs.exe 8 989 kB =3D> 121 740 kB > emacs-24.5.exe 8 989 kB =3D> 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? Adding emacs.bat would require seperate logic for windows. > > 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. It is simply for me to remove the -g option from the windows build. This would reduce the overall size of the build, to the values given here: http://lists.gnu.org/archive/html/help-gnu-emacs/2019-04/msg00115.html I am happy to do this (for Emacs-27 -- I do not want to change during major release). But I would like feedback from people who either use or handle bug reports for Emacs on Windows to let me know whether this would break things. > 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. I haven't written one. There is an .exe installer for Emacs-27. I haven't worked out how to do an MSI yet; if there is a good free package for doing so, that can be used straight-forwardly within the current build, I would be happy to add it. Incidentally, the installer version with all deps is smaller than the current version with deps, because the compression is better, which addresses some of your "bandwidth" concerns. Phil