2.9BSD/usr/man/cat2/profil.2
PROFIL(2) UNIX Programmer's Manual PROFIL(2)
NAME
profil - execution time profile
SYNOPSIS
profil(buff, bufsiz, offset, scale)
char *buff;
unsigned bufsiz, offset, scale;
DESCRIPTION
_B_u_f_f points to an area of core whose length (in bytes) is
given by _b_u_f_s_i_z. After this call, the user's program
counter (pc) is examined each clock tick (60th second);
_o_f_f_s_e_t is subtracted from it, and the result multiplied by
_s_c_a_l_e. If the resulting number corresponds to a word inside
_b_u_f_f, that word is incremented.
The scale is interpreted as an unsigned, fixed-point frac-
tion with binary point at the left: 0177777(8) gives a 1-1
mapping of pc's to words in _b_u_f_f; 077777(8) maps each pair
of instruction words together. 02(8) maps all instructions
onto the beginning of _b_u_f_f (producing a non-interrupting
core clock).
Profiling is turned off by giving a _s_c_a_l_e of 0 or 1. It is
rendered ineffective by giving a _b_u_f_s_i_z of 0. Profiling is
turned off when an _e_x_e_c is executed, but remains on in child
and parent both after a _f_o_r_k. Profiling may be turned off
if an update in _b_u_f_f would cause a memory fault.
SEE ALSO
prof(1), monitor(3)
ASSEMBLER
(profil = 44.)
sys profil; buff; bufsiz; offset; scale
Printed 5/17/83 1