Printed 11/19/92 Page 1
PROF2(1) RISC/os Reference Manual PROF2(1)
NAME
prof2 - analyze profile data
SYNOPSIS
prof [ options ] mainobject
DESCRIPTION
prof2 analyzes one or more data files generated by the MIPS
compiler's execution-profiling system and produces a list-
ing.
The compiler system provides two kinds of profiling:
1. pc-sampling interrupts the program periodically, record-
ing the value of the program counter.
2. basic-block counting divides the program into blocks
delimited by labels, jump instructions, and branch instruc-
tions. It counts the number of times each block executes.
This provides more detailed (line by line) information than
pc-sampling.
Using pc-sampling
See prof(1).
Using basic-block counting
To use basic-block counting, compile your program without
the option -p. Use pixie(1) to translate your program into
a profiling version and generate a file, whose name ends in
".Addrs", containing block addresses. Then run the profiling
version, which (assuming the program terminates normally via
exit(2) or _exit(2)) will generate one or more files, whose
name(s) end(s) in ".Counts", containing block counts. Then
use prof2 with the -pixie option to analyze the bbaddrs and
bbcounts files. Notice that you must tell prof2 the name of
your original program, not the name of the profiling ver-
sion.
For example:
cc -c myprog.c
cc -o myprog myprog.o
pixie -o myprog.pixie myprog (generates "myprog.Addrs")
./myprog.pixie (generates "myprog.Counts")
prof2 -pixie myprog
Printed 11/19/92 Page 1
PROF2(1) RISC/os Reference Manual PROF2(1)
Options to prof2
-quit n
Truncates the -procedures and -heavy listings after the
first entry that represents less than n percent of the
total.
-a object
Includes object's basic block counts in profiler out-
put. Used with pixified dynamic shared objects such as
libc.so.
-w Turns off warning messages.
-v Turns on verbose messages.
SEE ALSO
prof(1), as(1), cc(1), f77(1), pc(1).
profil(2), pixie(2), monitor(3) in the Programmer's Refer-
ence Manual.
RISC/os Programmer's Guide.
BUGS
prof2 does not yet take into account interactions among
floating-point instructions. prof2 should find pixified
shared libraries automatically.
Page 2 Printed 11/19/92