Related articles |
---|
New Release of AE Program Profiling System larus@primost.cs.wisc.edu (1990-03-16) |
From: | larus@primost.cs.wisc.edu (James Larus) |
Newsgroups: | comp.arch,comp.compilers,comp.lang.misc,gnu.gcc |
Keywords: | AE, program profiling, compiler, gcc |
Date: | 16 Mar 90 14:57:30 GMT |
Organization: | University of Wisconsin Computer Sciences Deptartment |
Version 2.0 of the AE program profiling system is available for anonymous ftp
from primost.cs.wisc.edu. This version fixes a number of small bugs that
slightly reduced the accuracy of the instruction trace on Sun 4's and a
couple of major bugs which caused AE to die on some programs. In addition,
I've added a couple of new features including seperate compilation of schema
files and an Applications subdirectory, which contains programs to produce
complete memory traces or instruction traces. The (new) man pages describe
the new arguments to aec.
If you don't know about AE, a short description is below.
/Jim
larus@cs.wisc.edu
(608) 262-9519
What is AE?
===========
AE is a system for efficiently tracing events during the execution of
C programs. It incorporates several new ideas that greatly reduce the
overhead of collecting and storing these trace. For example, AE can
collect full address traces and only slow the measured program by a
factor of 2-4 times. In addition, the resulting trace files are
compacted 10-50 times (or 50-600 times after they are compress'ed)
with respect to the full trace file.
AE consists of a small addition to the GNU C compiler (GCC) and an
auxiliary compiler. The modified version of GCC produces code to
record some events when the compiled program runs and generates a
description of the program known as a schema. The other compiler,
AEC, translates schemas into C programs that can read the condensed
trace record and generate a full address trace.
AE has successfully compiled large programs on a DECStation 3100 and
Sun 4. It should work properly for other computers that use the MIPS
or SPARC processors. In addition, AE is parameterized in a manner
similar to GCC and should easily be retargetable to any processor for
which GCC produces code.
AE currently produces a full address trace of a program and identifies
instructions that begin or end program loops and loop iterations. It
could easily be extended to identify other interesting program events.
Documentation
=============
AE is documented by a University of Wisconsin Computer Sciences
Department Technical Report #912 entitled "Abstract Execution: A
Technique for Efficiently Tracing Programs." The postscript version
of this report is available for anonymous ftp from primost.cs.wisc.edu
in the file ~ftp/pub/ae-tr.ps.Z. If you cannot print postscript, a
printed version of this report is available for free from:
Technical Report Librarian
Computer Sciences Department
1210 West Dayton Street
University of Wisconsin
Madison, WI 53706
(608) 262-6616
Code
====
The patches to GCC and the code for AEC are available for anonymous
ftp from primost.cs.wisc.edu (128.105.8.17) in the file
~ftp/pub/ae.tar.Z. The file about 300K. The patches have been tested
with GCC versions 1.36 and 1.37. They would probably work with
earlier versions, but I can't guarantee it. If you cannot ftp this
file, then either copy AE from another site or contact me. I will
make tapes for an exorbitant amount of money.
If you obtain a copy of AE and wish to be informed of future updates
and bug fixes, send your electronic mail address to:
larus@cs.wisc.edu.
Copyright
=========
AE is copyrighted by me and distributed under the terms of the GNU
General Public License.
James Larus
Computer Sciences Department
1210 West Dayton Street
University of Wisconsin
Madison, WI 53706
larus@cs.wisc.edu
(608) 262-9519
Return to the
comp.compilers page.
Search the
comp.compilers archives again.