profil(2)profil(2)NAMEprofil - execution time profile
controls profiling, by which the system maintains estimates of the
amount of time the calling program spends executing at various places
in its address space.
The buff argument must point to an area of memory whose length (in
bytes) is given by bufsiz. When profiling is on, the process's program
counter (pc) is examined each clock tick times per second), offset is
subtracted from the pc value, and the result is multiplied by scale.
If the resulting number corresponds to an element inside the array of
to which buff points, that element is incremented.
The number of samples per second for a given implementation is given by
which is defined in
The scale is interpreted as an unsigned, sixteen bit, fixed-point frac‐
tion with binary point at the left: 0177777 (octal) gives a one-to-one
mapping of pc's to words in buff; 077777 (octal) maps each pair of
instruction words 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 one
of the functions is executed, but remains on in child and parent both
after a Profiling is turned off if an update in buff would cause a mem‐
No value is returned.
SEE ALSOprof(1), monitor(3C).