prof(5)




NAME

     prof - profile within a function


SYNOPSIS

     #define MARK
     #include <prof.h>

     void MARK(name);


DESCRIPTION

     MARK introduces a mark called  name that is treated the same
     as  a function entry point.  Execution of the mark adds to a
     counter for that mark, and  program-counter  time  spent  is
     accounted  to the immediately preceding mark or to the func-
     tion if there are no preceding marks within the active func-
     tion.

     name may be any combination of letters, numbers, or   under-
     scores.  Each   name in a single compilation must be unique,
     but may be the same as any ordinary program symbol.

     For marks to be effective, the symbol MARK must  be  defined
     before  the header  prof.h is included, either by a  prepro-
     cessor directive as in the synopsis, or by  a  command  line
     argument:

          cc -p -DMARK work.c

     If MARK is not defined, the  MARK(name)  statements  may  be
     left  in  the source files  containing them and are ignored.
     prof -g must be used to get information on all labels.


EXAMPLES

     In this example, marks can be used  to  determine  how  much
     time  is spent in each loop. Unless this example is compiled
     with  MARK defined  on  the  command  line,  the  marks  are
     ignored.

     #include <prof.h>
     work( )
     {
             int i, j;
             . . .
             MARK(loop1);
             for (i = 0; i < 2000; i++) {
                     . . .
             }
             MARK(loop2);
             for (j = 0; j < 2000; j++) {
                     . . .
             }

     }


SEE ALSO

     profil(2), monitor(3C)


Man(1) output converted with man2html