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


Groups > comp.compilers > #2362

Re: Optimization techniques

Path csiph.com!4.us.feeder.erje.net!feeder.erje.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end
From rockbrentwood@gmail.com
Newsgroups comp.compilers
Subject Re: Optimization techniques
Date Thu, 26 Sep 2019 20:35:19 -0700 (PDT)
Organization Compilers Central
Lines 57
Sender news@iecc.com
Approved comp.compilers@iecc.com
Message-ID <19-09-012@comp.compilers> (permalink)
References <19-04-004@comp.compilers>
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
Content-Transfer-Encoding 8bit
Injection-Info gal.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="92550"; mail-complaints-to="abuse@iecc.com"
Keywords optimize, history
Posted-Date 27 Sep 2019 01:07:49 EDT
X-submission-address compilers@iecc.com
X-moderator-address compilers-request@iecc.com
X-FAQ-and-archives http://compilers.iecc.com
In-Reply-To <19-04-004@comp.compilers>
Xref csiph.com comp.compilers:2362

Show key headers only | View raw


On Wednesday, April 17, 2019 at 8:42:24 AM UTC-5, Rick C. Hodgin 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?

cparser uses libfirm as an optimization engine.

https://github.com/libfirm/cparser

Get your hands dirty, experimenting with it; while searching links on each of
the methods that libfirm uses (e.g. looking up 'common subexpression
elimination' https://en.wikipedia.org/wiki/Common_subexpression_elimination )
when it mentions it. A master list of sorts can be found here (
https://en.wikipedia.org/wiki/Optimizing_compiler ).

> I'm walking the abstract syntax tree and am able to find many kinds of
> optimizations, but I would like to learn some theory or pitfalls of
> various types of optimizations applied.

One kind of optimization it does NOT do - which I did to the whole cparser
source - is language-level optimization (i.e. refactoring, reengineering,
recoding).
https://refactoring.com/
https://en.wikipedia.org/wiki/Code_refactoring

This is the, by far, more important set of optimizations; since it eliminates
the large, significant accumulation of code debt (
https://en.wikipedia.org/wiki/Technical_debt ) that accrues in large
distributions ... and that has seriously plagued the entire GNU codebase ...
when the continual need for refactoring is ignored.

When left untended for too long, a code base transforms into legacy code (
https://en.wikipedia.org/wiki/Legacy_code ). Then, we talk about legacy rescue
or legacy code refactoring.

That should also be handled by and integrated within the compiler, as an
additional optional front-end only optimization stage, to whatever extent is
possible. A key ingredient in this process is a nuts and bolts level
Artificial Intelligence tool/method known as formal concept lattice analysis.

"Detecting Software Patterns Using Formal Concept Analysis"
https://pdfs.semanticscholar.org/0dc7/f972dcfcde866258abfc3d46b886df89ed68.pd
f

"Revealing Class Structure with Concept Lattices"
http://www.cs.cmu.edu/~udekel/research/Msc/tse_draft_fca.pdf

All of this should be considered as part of the compilation and optimization
process. Any code analysis/[re-]synthesis is compilation ... even if it
entails automating elements of the task of software engineering, itself.
Refactoring, itself, is the optimization stage of that process.

I'm also experimenting with hybridizing singular value decomposition and
factor analysis with formal concept lattices. For instance, I have a large set
of graphics routines (about 150) that needs to be refactored and reintegrated.
I'm running all 3 types of analyses on it and working my way up to a utility
that can do all 3 in tandem.

Back to comp.compilers | Previous | NextPrevious 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