Download Acovea 1 0 1 - Acovea 1 0 1 Description, Acovea 1 0 1 Reviews
Contact
 


 

Download

 
Download Now (397K)
GPL (GNU General Public License)
Downloads till now: 15
 
 

Quick search

 



 

Rate this software

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

No. Votes

0

 

Linux

Assembler Tools , Bug Tracking , Code Generators , Compilers , Debuggers , Disassemblers , Internationalization , Interpreters , Libraries , Localization, Perl Modules , Preprocessors , Quality Assurance and Testing , UI (User Interfaces) , Version Control , Widgets ,

Windows

Mac

Mobile

Drivers

Scripts - DHTML

Scripts - DHTML (new)

Web Developer Blog

Web Developer Blog (new)

Scripts and Applications

Ajax
ASP
ASP.NET
C and C++
CFML
CGI and Perl
Flash
Java
JavaScript
PHP
Python
XML

Acovea 1.0.1

 

Details

Size: 397K
Last Update: 2008-04-15 23:41:38
OS Support: Linux
License/Program Type: GPL (GNU General Public License)
Publisher: Scott Robert Ladd
Price:$0.00
Description:

Acovea 1.0.1 is quality assurance and testing software developed by Scott Robert Ladd.
Acovea implements a genetic algorithm for finding the "best" options for compiling programs with the GCC C and C++ compilers.



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.

Modern software is difficult to understand and verify by traditional means. Millions of lines of code produce applications containing intricate interactions, defying simple description or brute-force investigation.

A guided, deterministic approach to testing relies on human testers to envision every possible combination of actions -- an unrealistic proposition given software complexity. Yet, despite that complexity, we need answers to important questions about modern, large-scale software.

What sort of important questions? Consider the GNU Compiler Collection. I write articles that benchmark code generation, a task fraught with difficulties due to the myriad options provided by different compilers. For my benchmarks to have any meaning, I need to know which combination of options produces the fastest code for a given application.

Finding the "best" set of options sounds like a simple task, given the extent of GCC documentation and the conventional wisdom of the GCC developer community. Ah, if it were only so easy! The GCC documentation, while extensive, is also honestly imprecise.

I appreciate this style of documentation; unlike many commercial vendors, who make absolute statements about the "quality" of their products, GCC's documenters admit uncertainties in how various options alter code generation. Indeed, code generation is entirely dependent on the type of application being compiled and the target platform. An option that produces fast executable code for one source code may be detrimental to the performance of another program.

"Conventional wisdom" arrives in my inbox whenever I publish a new article. Ranging from the polite to the insistent to the rude, these e-mails contain contradictory suggestions for producing fast code.

In the vast majority of cases, such anecdotal assertions lack any formal proof of their validity, and, more often than not, the suggested "improvement" is ineffective or detrimental. It has become increasingly obvious that no one --myself included -- knows precisely how all these GCC options work together in generating program code.

I seek the Holy Grail of Optimization -- but exactly what is optimization? Understanding the problem is the first step in finding a solution.

Optimization attempts to produce the "best" machine code from source code. "Best" means different things to different applications; a database shovels chunks of information, while a scientific application is concerned with fast and accurate results; the first concern for an embedded system may be code size.

And it is quite possible that small code is fast, or fast code accurate. Optimization is far from being an exact science, given the diversity of hardware and software configurations.

An optimization algorithm may be as simple as removing a loop invariant, or as complex as examining an entire program to eliminate global common sub-expressions. Many optimizations change what the programmer wrote into a more efficient form, producing the same result while altering underlying details for efficiency; other "optimizations" produce code that uses specific characteristics of the underlying hardware, such as special instruction sets.

Memory architectures, pipelines, on- and off-chip caches -- all affect code performance in ways that are not obvious to programmers using a high-level language. An optimization that may seem to produce faster code may, in fact, create large code that causes more cache misses, thus degrading performance.

Even the best hand-tuned C code contains areas of interpretation; there is no absolute, one-to-one correspondence between C statements and machine instructions. Almost any sequence of source code can be compiled into different -- but functionally equivalent -- machine instruction streams with different sizes and performance characteristics.

Inlining functions is a classic example of this phenomena: replacing a call to a function with the function code itself may produce a faster program, but may also increase program size. Increased program size, may, in turn, prevent an algorithm from fitting inside high-speed cache memory, thus slowing a program due to cache misses.

Notice my use of the weasel word "may" -- inlining small functions sometimes allows other optimization algorithms a chance to further improve code for local conditions, producing faster and smaller code.

Optimization is not simple or obvious, and combinations of algorithms can lead to unexpected results. Which brings me back to the question: For any given application, what are the most effective optimization options?

What's New in This Release:
Minor changes in the non-free license.
Support has been added for the latest versions of libcoyotl and libevocosm.
Acovea 1.0.1 supports english interface languages and works with Linux.

Downloading Acovea 1.0.1 will take several seconds if you use fast ADSL connection.

Leave a comment




(optional)

What is 7-3?




0 comments


Add to

 Del.icio.us   Digg It   Furl   YahooMyWeb   Blinklist
 

Acovea 1.0.1 Version History

Product Date Added
Acovea 1.0.1 2008-04-15 23:41:38


Related Software

Java Gnome
From category: Libraries
Java-GNOME is a set of Java bindings for the GNOME and GTK libraries....
DBOW
From category: Code-Generators
DBOW 0.7 is code generators software developed by Dermot Tynan. DBOW is a database compiler-compiler or front-end. It takes table definitions in a meta language and prepares C, C++, PHP, Perl (etc)...
DBIx::SQLCrosstab
From category: Libraries
DBIx::SQLCrosstab 1.17 is libraries software developed by Giuseppe Maxia. DBIx::SQLCrosstab Perl module creates a server-side cross tabulation from a database. SYNOPSIS use DBIx::...
cexcept
From category: Libraries
cexcept 2.0.0 is libraries software developed by Adam M. Costello. cexcept (pronounced \"see except\" in English) is a package providing a Try/Catch/Throw exception handling interface for ANSI C (C...
Curses Development Kit
From category: Widgets
Curses Development Kit 5.0-20060507 is widgets software developed by T.E.Dickey. Curses Development Kit is a library of widgets for curses development. Installation: To build the libr...
errhdl
From category: Libraries
errhdl 0.3 is libraries software developed by Jan Behrens. errhdl is a small C library that offers error handling methods similar to the exception handling in C++. In the event of errors, no...
Crypt::SSLeay
From category: Libraries
Crypt::SSLeay 0.51 is libraries software developed by Joshua Chamas. Crypt::SSLeay is a Perl module for OpenSSL glue that provides LWP https support. SYNOPSIS lwp-request https://ww...
Class Library for Numbers
From category: Libraries
Class Library for Numbers (CLN) is a library for computations with all kinds of numbers....
Chump
From category: Assembler-Tools
Chump 0.0.10 is assembler tools software developed by Charlie Brej. Chump is a language I created to describe line assemblers and disassembles in one description. It is used in KMD to descri...
Tinymail
From category: Libraries
Tinymail is a library for developing mobile applications with E-mail functionality....
Audio::Beep::BSD::beep 0.11
From category: Libraries
Audio::Beep::BSD::beep 0.11 is libraries software developed by Giulio Motta. Audio::Beep::BSD::beep is an Audio::Beep player module using the beep program. IMPORTANT! This player modu...
Net DSML filter pm
From category: Perl-Modules
Net::DSML::filter.pm is a Perl module that supplies a Net::DSML::Filter object that is used by a Net::DSML object....
Classfile Reader & Writer
From category: Code-Generators
Classfile Reader & Writer is code generators software developed by Kimberley Burchett. This package makes it easy to read and write java classfiles. It doesn\'t, however, provide any help with disp...
CompBio::DB
From category: Libraries
CompBio::DB 0.47 is libraries software developed by Sean Quinlan. CompBio::DB is a Perl module with methods for accessing data stored according to the CompBio base schema. SYNOPSIS...
eAccelerator
From category: Code-Generators
eAccelerator 0.9.5 is code generators software developed by Dominique Karg. eAccelerator is a further development from mmcache PHP Accelerator & Encoder. eAccelerator increases performance o...
 

Top Downloads

 
1. Canon PIXMA iP1200 Printer Driver
2. Canon PIXMA iP1000 Printer Driver
3. Realtek ALC/ 262/ 265/ 268/ 660/ 861/ 880/ 882/ 883/ 885/ 888 Audio
4. Canon PIXMA iP1300 Printer Driver c
5. Canon PIXMA iP1600 Printer Driver
6. Canon PIXMA MP210 MP Drivers
7. DVD Decrypter
8. Canon LaserShot LBP-1210 Printer Driver
9. Genius Eye 110 Webcam Driver
10. Canon i-SENSYS LBP2900 Printer Driver R
11. Canon PIXMA iP1200 Printer Driver x64 d
12. Realtek RTL8100B(L)/RTL8100C(L)/RTL8101L/RTL8139C(L) Driver XP
13. CATraxx Music Database
14. Catalogue of disks
15. Bingo! RM to MP3 Wave Converter
16. Binaural Mixer
17. Automatically all MP3 & ID3 tags
18. Ares Ultra Search
19. Water Alive screensaver
20. Super DVD To avi/vcd/svcd ripper

DownloadTube Editor Reviews

 
1. Auction Decorator - Auction Maker Wizard
Make your eBay Auction listings look like Web pages with the...
2. Multi-Edit 2008
Multi-Edit 2008 is a truly powerful, feature-rich and reliab...
3. Ultimate Fractal
Create amazing fractal artwork in just a few seconds with th...
4. WhoIs Lookup Multiple Addresses Software
WhoIs Lookup Multiple Addresses Software is a simple, small,...
5. Pop Art Studio
Pop Art Studio is a very easy to use graphics editing softwa...
6. Multi-Edit 2008 Lite
Multi-Edit is a Powerful IDE, with speed, depth, and uncompr...
7. ProLingo Chinese Polish Dictionary
A Windows Vista Ready dictionary with slang words included. ...
8. Cyber 3GP Converter
Cyber 3GP Converter features a player and a video Converter,...
9. Nidesoft DVD to 3GP Suite
Nidesoft DVD to 3GP Suite includes two excellent software to...
10. AggreGate Network Manager for Windows
AggreGate SNMP Network Manager is a powerful system for supe...

Software Reviews Full List



Recent Blog Posts

 
1. Easy Publishing of WordPress Blogs RSS Feeds With FeedBurner
RSS (Really Simple Syndication) Feeds are a modern form of c...
2. Automatic Installation of Joomla! on Windows With JoomlaPC
A convenient alternative for the development or testing of J...
3. An Introduction To Joomla! Templates Creation With Adobe Dreamweaver CS3
Joomla! is a content management system and framework with a ...
4. Two New Firefox Stable Releases Are Available For Free Download: Firefox 3.0.2 and Firefox 2.0.0.17
Recently, two Firefox stable releases for Windows, Mac OS, a...
5. How To Deploy A Linux LiveCD on Windows Using MobaLiveCD
There are many ways to test a certain Linux distribution on ...
6. Ever Needed A Free Video Converter And You Just Couldn’t Find It? Here’s Our Suggestion.
With so many different video (or even audio) converters arou...
7. Top 101 Most Downloaded Windows Software: Free Demo Movies and Download Links
We often have to decide if we should download the latest v...
8. A New Powerful Virus Could Affect Millions of WordPress Blogs
The WordPress blogging platform powers millions of web...
9. Google Chrome – It’s Finally Here. Will A Revolution Begin?
First, it was the rumors. Then, Google announced it official...
10. An Amazing Free Document Processing Software: LyX
The documents management task could be difficult in absence ...

Last 20 Scripts

 
1. Echo Web Framework
Echo Web Framework is a platform for building web-based appl
2. AmiFormat
AmiFormat is a simple textile like web text generator done i
3. GreyBox
GreyBox is a lightweight JavaScript that allows you to displ
4. AJS Library
AJS is an ultra lightweight JavaScript library that allows y
5. Mootools Form Hints
Mootools Form Hints is a Mootools based Javascript form help
6. Perspective Tabs
Perspective tabs is allows for a large number of tabs to fit
7. Imago
Imago is an Ajax based image gallery that is very simple to
8. Protoscript
Protoscript is a simplified scripting language for creating
9. mxGraph
mxGraph provides an interactive drawing and diagramming solu
10. XML/SWF Gauge
XML/SWF Gauge helps you to create attractive web gauges.
11. XML/SWF Slideshow
XML/SWF Slideshow allows you to create slideshows from dynam
12. XML/SWF Charts
XML/SWF Charts helps you to present data contained in XML fi
13. JibberBook
JibberBook is a free PHP/JavaScript based guestbook.
14. mediaboxAdvanced
mediaboxAdvanced is an ultimate extension of Mediabox into a
15. Multifaceted Lightbox
Multifaceted Lightbox is a script (JavaScript) that allows y
16. JavaScript VectorGraphics Library
JavaScript VectorGraphics library provides graphics capabili
17. Helma
Helma is an open source web application framework for fast a
18. JHeartbeat
JHeartbeat allows a web page to periodically poll the server
19. jMedia
jMedia is a jQuery plugin that allows multi-media embedding
20. hnGuestBook
hnGuestBook is a simple guestbook that uses a flat text file