PROFIL(II)                   5/15/74                   PROFIL(II)







NAME

     profil - execution time profile



SYNOPSIS

     (profil = 44.; not in assembler)

     sys     profil; buff; bufsiz; offset; scale



     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  this  call,  the  user's program

     counter (pc) is examined  each  clock  tick  (60th  second);

     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  binary  point at the left: 177777(8) gives a

     1-1 mapping of pc's to words in  buff;  77777(8)  maps  each

     pair   of   instruction   words  together.   2(8)  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

     also turned off when an exec is executed but remains  on  in

     child and parent both after a fork.



SEE ALSO

     monitor (III), prof (I)



DIAGNOSTICS