unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.9)
Page:
Section:
Apropos / Subsearch:
optional field



Standards, Environments, and Macros                       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++) {
                     . . .
             }



SunOS 5.9            Last change: 3 Jul 1990                    1






Standards, Environments, and Macros                       prof(5)



     }

SEE ALSO
     profil(2), monitor(3C)



















































SunOS 5.9            Last change: 3 Jul 1990                    2