PROFIL(2) GENIX Programmer's Manual PROFIL(2)
NAME
profil - execution time profile
SYNOPSIS
profil(buff, bufsiz, offset, scale)
char *buff;
int bufsiz, offset, 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 exam-
ined each clock tick (60th second); offset is subtracted from it,
and the result multiplied by scale. If the resulting number
corresponds to a word inside buff, that word is incremented.
The scale is interpreted as an unsigned, fixed-point fraction with
binary point at the left: 0177777(8) gives a 1-1 mapping of pc's to
words in buff; 077777(8) maps each pair of instruction words
together. 02(8) 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.
SEE ALSO
monitor(3), prof(1)
BUGS
Profiling does not work for interpreters; if a signal were given to
a process when its cpu-time clock ticked then profiling interpreters
would be possible.
Printed 11/16/83 1