Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #2193

Re: Optimization techniques

From Kaz Kylheku <847-115-0292@kylheku.com>
Newsgroups comp.compilers
Subject Re: Optimization techniques
Date 2019-04-19 08:49 +0000
Organization Aioe.org NNTP Server
Message-ID <19-04-009@comp.compilers> (permalink)
References <19-04-004@comp.compilers>

Show all headers | View raw


On 2019-04-17, R. C. Hodgin <rick.c.hodgin@gmail.com> wrote:
> Are there resources someone can point me to for learning more about
> time-honored, long-established, safely applied, optimization
> techniques for a C/C++ like language?

Optimization only preserves the meaning of the program to the extent
that the program has a defined meaning, as far as the compiler is
concerned.

Thus, there is one huge pitfall in optimizing C or C++: there is a large
space of possible programs that have unspecified or undefined semantics,
and that programmers actually write.

If you can make your language "C/C++ like" without all the undefined
behavior looming at every corner (i.e. not actually "C/C++ like" at all
in a significant regard), then you've dodged what is probably the number one
optimization pitfall.

For instance, don't have it so that the order of evaluation of
function or operator arguments is unspecified. If you allow side-effects
in expressions, specify when those effects take place in relation to
everything else in the expression.

If you have clear ordering rules, then you honor them when optimizing:
you rearrange the user's calculation order only when it can't possibly
make a difference to the result that is required by the defined
order.

Reordering arithmetic calculations has pitfalls. There are n! orders
for adding together n numbers. Under floating-point, these all
potentially return different results even if nothing overflows.
You can't blindly rely on arithmetic identities to hold.

Back to comp.compilers | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Optimization techniques "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2019-04-17 09:42 -0400
  Re: Optimization techniques Hans Aberg <haberg-news@telia.com> - 2019-04-17 18:11 +0200
  Re: Optimization techniques George Neuner <gneuner2@comcast.net> - 2019-04-18 04:07 -0400
    Re: Optimization techniques "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2019-04-18 11:22 -0400
      Re: Optimization techniques George Neuner <gneuner2@comcast.net> - 2019-04-19 15:48 -0400
    Re: Optimization techniques Hans Aberg <haberg-news@telia.com> - 2019-04-19 00:52 +0200
  Re: Optimization techniques Kaz Kylheku <847-115-0292@kylheku.com> - 2019-04-19 08:49 +0000
    Re: Optimization techniques "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2019-04-19 11:48 -0400
      Re: Optimization techniques David Brown <david.brown@hesbynett.no> - 2019-04-23 09:38 +0200
    Re: Optimization techniques David Brown <david.brown@hesbynett.no> - 2019-04-23 09:18 +0200
  Re: Optimization techniques Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2019-04-20 00:27 +0200
    Re: Optimization techniques "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2019-04-19 16:11 -0700
      Re: Optimization techniques Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2019-04-20 19:47 +0200
        Re: Optimization techniques "Rick C. Hodgin" <rick.c.hodgin@gmail.com> - 2019-04-24 10:16 -0400
    Re: Optimization techniques George Neuner <gneuner2@comcast.net> - 2019-04-20 18:59 -0400
    Re: Optimization techniques David Brown <david.brown@hesbynett.no> - 2019-04-23 09:43 +0200
      Re: Optimization techniques Martin Ward <martin@gkc.org.uk> - 2019-04-26 20:10 +0100
        Re: Optimization techniques Kaz Kylheku <847-115-0292@kylheku.com> - 2019-04-26 21:11 +0000
        Re: Optimization techniques David Brown <david.brown@hesbynett.no> - 2019-04-28 17:22 +0200
          Re: Optimization techniques Gene Wirchenko <genew@telus.net> - 2019-04-30 18:07 -0700
            Re: Optimization techniques David Brown <david.brown@hesbynett.no> - 2019-05-01 09:03 +0200
    Re: Optimization techniques "Derek M. Jones" <derek@_NOSPAM_knosof.co.uk> - 2019-04-26 13:39 +0100
  Re: Optimization techniques rockbrentwood@gmail.com - 2019-09-26 20:35 -0700

csiph-web