man(1) Manual page archive


     PROFIL(2)                                               PROFIL(2)

     NAME
          profil - execution time profile

     SYNOPSIS
          void profil(buff, bufsiz, offset, scale)
          unsigned short *buff;
          int bufsiz, offset;
          unsigned 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
          is examined each clock tick; offset is subtracted from it,
          and the result multiplied by scale, divided by 65536 and
          then rounded up to a multiple of two.  If the resulting num-
          ber (n) is less than bufsiz, then buff[n/2] is incremented.

          Profiling is turned off by giving a scale of 0.  It is ren-
          dered 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(1), monitor(3)

     BUGS
          Because of the rounding up, single byte instructions cannot
          be exactly profiled.