Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #2193
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar
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