prof.1 (2010 09)
p
prof(1) prof(1)
NAME
prof - display profile data
SYNOPSIS
prof [-tcan][-ox][
-g][-z][-h][-s][-m mdata ][prog ]
DESCRIPTION
prof interprets a profile file produced by
monitor() (see monitor (3C)). The symbol table in the object
file prog (
a.out by default) is read and correlated with a profile file (
mon.out by default). For each
external text symbol, the percentage 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
t, c,
a, and n determine the type of sorting of the output lines:
-t Sort by decreasing percentage of total time (default).
-c Sort by decreasing number of calls.
-a Sort by increasing symbol address.
-n Sort by symbol name in ascending collation order (see Environment Variables below).
The mutually exclusive options
o and x specify the printing of the address of each symbol monitored:
-o Print each symbol address (in octal) along with the symbol name.
-x Print each symbol address (in hexadecimal) along with the symbol name.
The following options can be used in any combination:
-g Include non-global symbols (static functions).
-z Include all symbols in the profile range (see monitor (3C)), even if associated with zero
number of calls and zero time.
-h Suppress the heading normally printed on the report. (This is useful if the report is to
be processed further.)
-s Print a summary of several of the monitoring parameters and statistics on the standard
error output.
-m mdata Use file mdata instead of mon.out as the input profile file.
A program creates a profile file if it has been loaded using the
cc -p
option (see cc_bundled (1)). This
option to the
cc command arranges for calls to monitor() at the beginning and end of execution (see
monitor (3C)). It is the call to the monitor 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 -p 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
PROFDIR.
If PROFDIR is not set, mon.out is produced in the directory current when the program terminates. If
PROFDIR=string, string/pid.progname
is produced, where progname consists of argv[0] with
any path prefix removed, and pid is the program’s process
ID. If PROFDIR is set to a null string, no
profiling output is produced.
EXTERNAL INFLUENCES
Environment Variables
LC_COLLATE determines the collating order output by the -n option.
If
LC_COLLATE is not specified in the environment or is set to the empty string, the value of LANG is
used as a default. If LANG is not specified or is set to the empty string, a default of ‘‘C’’ (see lang(5)) is
used instead of LANG. If any internationalization variable contains an invalid setting, prof 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
distorting measurements.
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1