Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ profil(S) — System V/386 Software Development System 3.2.2b

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     PROFIL(S)                 UNIX System V                 PROFIL(S)



     Name
          profil - execution time profile

     Syntax
          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 bufsiz.  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 will be turned off
          if an update in buff would cause a memory fault.

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

     Standards Conformance
          profil is conformant with:
          AT&T SVID Issue 2, Select Code 307-127;
          and The X/Open Portability Guide II of January 1987.

                                             (printed 6/20/89)



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