PROFIL(2) INTERACTIVE UNIX System PROFIL(2)
NAME
profil - execution time profile
SYNOPSIS
void profil (buff, bufsiz, offset, scale)
void (* offset)();
char *buff;
int bufsiz, scale;
DESCRIPTION
Buff points to an area of core whose length (in bytes) is
given by bufsiz. After this call, the user's program
counter (pc) is examined each clock tick. Then the value of
offset is subtracted from it, and the remainder multiplied
by scale. If the resulting number corresponds to an entry
inside buff, that entry is incremented. An entry is defined
as a series of bytes with length sizeof(short).
The scale is interpreted as an unsigned, fixed-point frac-
tion with binary point at the left: 0177777 (octal) gives a
1-1 mapping of pc's to entries in buff; 077777 (octal) maps
each pair of instruction entries together. 02(octal) maps
all instructions onto the beginning of buff (producing a
non-interrupting core clock).
Profiling is turned off by giving a scale of 0 or 1. It is
rendered ineffective by giving a bufsiz of 0. Profiling is
turned off when an exec is executed, but remains on in child
and parent both after a fork. Profiling will be turned off
if an update in buff would cause a memory fault.
SEE ALSO
prof(1), times(2), monitor(3C).
DIAGNOSTICS
Not defined.
Rev. C Software Development Set Page 1