Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ profil(2) — sys5 — Apollo Domain/OS SR10.4.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

prof(1)

times(2)

monitor(3C)

PROFIL(2)                            SysV                            PROFIL(2)



NAME
     profil - execution time profile

SYNOPSIS
     void 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 you make a call to profil, the system examines your
     program counter (PC) each clock tick.  Then the value of offset is
     subtracted from it and the remainder is 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 fraction with binary
     point at the left: 0177777 (octal) gives a 1-to-1 mapping of program
     counters 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(2) is executed, but remains on in child and parent both after a
     fork(2).  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.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026