all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: emacs-devel@gnu.org
Subject: Re: My Emacs unicode 2 crash again when I do some *Replace String (M-%)*, I give the debug informations under gdb in the attachments.
Date: Mon, 12 Mar 2007 23:50:16 +0200	[thread overview]
Message-ID: <uveh6p1wn.fsf@gnu.org> (raw)
In-Reply-To: <jwv6496y2ac.fsf-monnier+emacs@gnu.org> (message from Stefan Monnier on Mon, 12 Mar 2007 10:23:26 -0400)

> Cc: emacs-devel@gnu.org
> From: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Mon, 12 Mar 2007 10:23:26 -0400
> 
> > I disagree.  -O1 selects optimizations based on how expensive they are
> > at compile time, not on how badly they disrupt debugging.
> 
> Really?  Says who?

Says the GCC manual:

     With `-O', the compiler tries to reduce code size and execution
     time, without performing any optimizations that take a great deal
     of compilation time.

But you don't need to believe this if you don't want to, just look at
the options enabled by -O2 and see how many of them have no relation
to debuggability whatsoever.  They are related to how expensive
(i.e. time-consuming and/or memory-consuming) those optimizations are
for the optimizer.

> I don't know if there's an official definition of what -O should be, but
> AFAICT all it says is "please optimize this" in a very generic sense.
> I.e. in a sense which implies that the user doesn't want to waste time
> thinking about details such as which specific optimizations to enable and
> which to disable.  It should "just work", so it should be as good as
> possible while staying conservative (i.e. do not enable passes which have
> a significant risk of resulting in slower code, or which may alter the
> semantics of the code, or which may result in odd behavior in the debugger).

Well, you are, of course entitled to your own notions, but FWIW the
GCC manual tells a different story:

    `-O2'
	 Optimize even more.  GCC performs nearly all supported
	 optimizations that do not involve a space-speed tradeoff.

IOW, -O2 does what you think -O1 should do (which goes a long way
toward explaining why so many project use -O2 as default).
Optimizations that involve space-speed tradeoff (a PC way of saying
you may lose as likely as win) are in -O3, while those that might
alter the semantics are (AFAIK) not in any -On option, you must turn
them on by hand (at your own risk).  The latter fact is not stated in
these very words, but is quite evident when one reads the manual.

Of course, this is all from reading the manual, so it might be
inaccurate and even plain wrong...

> I would probably also include a notion of "avoid optimzation passes which
> can take too much time (e.g. quadratic complexity or worse)", but it's
> definitely not at the top of my list of requirements for the semantics of
> "-O".

The above seems to show that it's definitely at the top of the GCC
developers' list.  Which I personally think is somewhat silly with
today's fast CPUs, but that's a different matter.

  reply	other threads:[~2007-03-12 21:50 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-06  6:30 My Emacs unicode 2 crash again when I do some *Replace String (M-%)*, I give the debug informations under gdb in the attachments Hongyi Zhao
2007-03-06  7:02 ` Kenichi Handa
2007-03-06  8:57   ` Hongyi Zhao
2007-03-06  8:06 ` Kenichi Handa
2007-03-06  8:41   ` Hongyi Zhao
2007-03-06 12:38     ` Kenichi Handa
2007-03-06 15:23       ` Hongyi Zhao
2007-03-06 14:10   ` David Kastrup
2007-03-07  1:01     ` Kenichi Handa
2007-03-07  2:37       ` Nick Roberts
2007-03-07  3:56         ` Hongyi Zhao
2007-03-07  4:01           ` Nick Roberts
2007-03-07  4:58             ` Hongyi Zhao
2007-03-07  5:10               ` Nick Roberts
2007-03-07  4:58           ` Kenichi Handa
2007-03-07  5:37             ` Display bug [Re: My Emacs unicode 2 crash again ...] Kenichi Handa
2007-03-07  6:26               ` Hongyi Zhao
2007-03-07  6:40                 ` Kenichi Handa
2007-03-07  7:38                   ` Hongyi Zhao
2007-03-07 17:26                 ` Richard Stallman
2007-03-08  3:50                   ` Hongyi Zhao
2007-03-08 21:47                     ` Richard Stallman
2007-03-07 17:25         ` My Emacs unicode 2 crash again when I do some *Replace String (M-%)*, I give the debug informations under gdb in the attachments Richard Stallman
2007-03-08  4:24           ` Eli Zaretskii
2007-03-08  4:50             ` Miles Bader
2007-03-09 15:08               ` Eli Zaretskii
2007-03-09 15:26                 ` Andreas Schwab
2007-03-09 15:51                   ` Eli Zaretskii
2007-03-09 15:56                   ` Eli Zaretskii
2007-03-09 21:26                 ` Richard Stallman
2007-03-10 19:18                   ` Eli Zaretskii
2007-03-09 22:59                 ` Stefan Monnier
2007-03-11 21:10                   ` Eli Zaretskii
2007-03-11 21:32                     ` David Kastrup
2007-03-11 21:56                       ` Eli Zaretskii
2007-03-11 21:59                         ` David Kastrup
2007-03-12  4:14                           ` Eli Zaretskii
2007-03-11 22:29                       ` Andreas Schwab
2007-03-12  6:11                         ` Stephen J. Turnbull
2007-03-12 22:08                           ` Eli Zaretskii
2007-03-13  3:36                             ` Stephen J. Turnbull
2007-03-13  7:54                               ` David Kastrup
2007-03-13 21:24                                 ` Eli Zaretskii
2007-03-12  7:04                         ` David Kastrup
2007-03-12 14:23                     ` Stefan Monnier
2007-03-12 21:50                       ` Eli Zaretskii [this message]
2007-03-13  1:33                         ` Stefan Monnier
2007-03-08  7:19             ` Stefan Monnier
2007-03-09 15:20               ` Eli Zaretskii

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=uveh6p1wn.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.