unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: phillip.lord@russet.org.uk (Phillip Lord)
Cc: bjourne@gmail.com, emacs-devel@gnu.org
Subject: Re: Bloat in the Emacs Windows package
Date: Fri, 19 Apr 2019 09:29:30 +0300	[thread overview]
Message-ID: <83sguecxth.fsf@gnu.org> (raw)
In-Reply-To: <87a7gnypsx.fsf@russet.org.uk> (phillip.lord@russet.org.uk)

> From: phillip.lord@russet.org.uk (Phillip Lord)
> Cc: bjourne@gmail.com,  emacs-devel@gnu.org
> Date: Thu, 18 Apr 2019 22:19:26 +0100
> 
> >   objcopy --only-keep-debug emacs.exe emacs.debug
> >   strip -g emacs.exe
> >   objcopy --add-gnu-debuglink=emacs.debug emacs.exe
> >
> > When unpacked, the emacs.debug file should install into the bin/.debug
> > directory of the Emacs installation.
> 
> Would this impact on emacs-26.2.exe also or would I need to things like:
> 
> objcopy --only-keep-debug emacs.exe emacs.debug
> strip -g emacs.exe
> strip -g emacs-26.2.exe
> objcopy --add-gnu-debuglink=emacs.debug emacs.exe
> objcopy --add-gnu-debuglink=emacs.debug emacs-26.2.exe

There is no magic: if emacs.exe and emacs-26.2.exe are two separate
files (not hard links to the same file data), then yes, you will need
the additional commands above.  Sorry for not saying that explicitly.

> To summarise my feelings about the thread so far:
> 
>  - I think most normal users don't need debug symbols, so I would be
>    minded to remove them (or not put them). I don't know why I have
>    added "-g3" to the default options. People who know what to do with
>    debug symbols are likely to be able to build Emacs for
>    themselves.

Are we only talking about official releases, or do you include
development snapshots in the above reasoning?  Snapshots should
include the symbols IMO, to facilitate more efficient debugging of
problems reported for them.  The assumption is that people who install
snapshots are more cognizant about debugging and are less "normal"
than those who download official releases, in the sense that they
prefer efficient bug reports to disk space savings.

> Unanswered questions for me:
> 
>  - If we remove debug symbols, why not do -O3 which may produce some
>    performance benefit?

IME, -O3 is useless for Emacs, probably because the expensive inner
loops are very large.  It does produce a larger executable, which is
another downside.  It is also less well tested, since thedefault build
uses -O2.

That said, my metrics were done years ago, and it's possible that
nowadays -O3 performs better.  If we want to explore this, someone
should try building Emacs with -O3 and producing some measurements for
GCC versions 7 and up to 9.  And I don't think this is Windows
specific: if -O3 produces worthy benefits, we might consider using it
in production builds on all platforms.

>  - Is it better to do "-g0" which I believe stops adding debug symbols,
>    or switch "make install" for "make install-strip"?

I'd say the latter, because 'install-strip' is the official GNU way of
getting a stripped binary.

Thanks.



  parent reply	other threads:[~2019-04-19  6:29 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-17  5:01 Bloat in the Emacs Windows package Björn Lindqvist
2019-04-17  7:31 ` 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 [this message]
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=83sguecxth.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=bjourne@gmail.com \
    --cc=emacs-devel@gnu.org \
    --cc=phillip.lord@russet.org.uk \
    /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).