prof(1)prof(1)NAMEprof - display profile data
SYNOPSIS
mdata] [prog]
DESCRIPTION
interprets a profile file produced by (see monitor(3C)). The symbol
table in the object file prog by default) is read and correlated with a
profile file by default). For each external text symbol, the percent‐
age of time spent executing between the address of that symbol and the
address of the next is printed, together with the number of times that
function was called and the average number of milliseconds per call.
The mutually exclusive options and determine the type of sorting of the
output lines:
Sort by decreasing percentage of total time (default).
Sort by decreasing number of calls.
Sort by increasing symbol address.
Sort by symbol name in ascending collation order
(see Environment Variables below).
The mutually exclusive options and specify the printing of the address
of each symbol monitored:
Print each symbol address (in octal) along with the symbol name.
Print each symbol address (in hexadecimal) along with the symbol
name.
The following options can be used in any combination:
Include non-global symbols (static functions).
Include all symbols in the profile range (see
monitor(3C)), even if associated with zero number of
calls and zero time.
Suppress the heading normally printed on the report.
(This is useful if the report is to be processed
further.)
Print a summary of several of the monitoring parameters and sta‐
tistics
on the standard error output.
Use file mdata instead of as the input profile file.
A program creates a profile file if it has been loaded using the option
(see cc_bundled(1)). This option to the command arranges for calls to
at the beginning and end of execution (see monitor(3C)). It is the
call to the command at the end of execution that causes a profile file
to be written. The number of calls to a function is tallied if the
option was used when the file containing the function was compiled.
The name of the file created by a profiled program is controlled by the
environment variable If is not set, is produced in the directory cur‐
rent when the program terminates. If is produced, where progname con‐
sists of argv[0] with any path prefix removed, and pid is the program's
process ID. If is set to a null string, no profiling output is pro‐
duced.
EXTERNAL INFLUENCES
Environment Variables
determines the collating order output by the option.
If is not specified in the environment or is set to the empty string,
the value of is used as a default. If is not specified or is set to
the empty string, a default of ``C'' (see lang(5)) is used instead of
If any internationalization variable contains an invalid setting,
behaves as if all internationalization variables are set to ``C'' (see
environ(5)).
WARNINGS
The times reported in successive identical runs may show variances of
20% or more, because of varying cache-hit ratios due to sharing of the
cache with other processes. Even if a program seems to be the only one
using the machine, hidden background or asynchronous processes may blur
the data. In rare cases, the clock ticks initiating recording of the
program counter may ``beat'' with loops in a program, grossly distort‐
ing measurements.
Call counts are always recorded precisely, however.
Only programs that call (see exit(2)) or return from cause a profile
file to be produced, unless a final call to is explicitly coded.
The use of the option to invoke profiling imposes a limit of 600 func‐
tions that can have call counters established during program execution.
For more counters, call directly. If this limit is exceeded, other
data is overwritten and the file is corrupted. The number of call
counters used is reported automatically by the command whenever the
number exceeds 5/6 of the maximum.
FILES
for profile
for namelist
SEE ALSOcc_bundled(1), exit(2), profil(2), crt0(3), end(3C), monitor(3C).
STANDARDS CONFORMANCEprof(1)