Home > Programming > Using Natural Selection to Investigate Software Complexities

Using Natural Selection to Investigate Software Complexities

Ιουνίου 27th, 2006 ktolis Leave a comment Go to comments

Acovea Overview
ACOVEA (Analysis of Compiler Options via Evolutionary Algorithm) implements a
genetic algorithm to find the “best” options for compiling programs with the GNU
Compiler Collection (GCC) C and C compilers. “Best”, in this context, is defined
as those options that produce the fastest executable program from a given source
code. Acovea is a C framework that can be extended to test other programming
languages and non-GCC compilers.

I envision Acovea as an optimization tool, similar in purpose to profiling.
Traditional function-level profiling identifies the algorithms most influential
in a program’s performance; Acovea is then applied to those algorithms to find
the compiler flags and options that generate the fastest code. Acovea is also
useful for testing combinations of flags for pessimistic interactions, and for
testing the reliability of the compiler.

This article describes the application of Acovea to the analysis of the GNU C
compiler optimization flags; details about the underlying genetic algorithm can
be found in the companion article,???  A Description of
the Evolutionary Algorithm.

Related posts:

  1. Retesting my WP plugins selection
  2. Enable C++ applications for Web service using XML-RPC
  3. New Start

Categories: Programming Tags:
  1. Σεπτεμβρίου 6th, 2006 at 00:50 | #1

    Is this of any importance ? I mean this subject has gone way past research. At first papers suggested that we recompile separate functions or class members using improved branch prediction based on statistic measurements and profiling. Sun’s enterprise java servers do that for example.
    Does adjusted compilation ever yield any results better than the simple -O3 ?

  1. No trackbacks yet.
You must be logged in to post a comment.