profil - execution time profile
profil(buff, bufsiz, offset, scale)
int bufsiz, offset, scale;
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 (VAX and TAHOE: 100
ticks/second = 10 milliseconds per tick; 60 ticks/second ~= 16 milliseconds per tick);
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 16 bits of fraction:
0xffff gives a 1-1 mapping of pc's to words in buff; 0x7fff maps each pair of instruction
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 execve is executed, but remains on in
child and parent both after a fork. Profiling is turned off if an update in buff would
cause a memory fault.
A 0, indicating success, is always returned.
gprof(1), prof(1), setitimer(2), monitor(3)
3rd Berkeley Distribution May 6, 1987 PROFIL(2)