Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ profil(S) — OpenDesktop Software Development System 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

prof(CP)

monitor(S)

times(S)


 profil(S)                      6 January 1993                      profil(S)


 Name

    profil - execution time profile

 Syntax


    cc ... -lc


    void profil (buff, bufsiz, offset, scale)
    void (* offset)();
    char *buff;
    unsigned bufsiz, scale;


 Description

    buff points to an area of core whose length (in bytes) is given by buf-
    siz.  After this call, the user's program counter (pc) is examined each
    clock tick. Then the value of offset is subtracted from it, and the
    remainder 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-1 mapping of pc's 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 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.

 See also

    prof(CP), monitor(S), times(S)

 Standards conformance

    profil is conformant with:
    AT&T SVID Issue 2, but has been withdrawn from XPG3.



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