Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
prof(5)		      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 func-
       tion 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	function  if  there  are  no  preceding	 marks
       within the active function.

       name  may be any	combination of letters,	numbers, or  underscores. 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	preprocessor 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)

SunOS 5.10			  3 Jul	1990			       prof(5)

NAME | SYNOPSIS | DESCRIPTION | EXAMPLES | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=prof&sektion=5&manpath=SunOS+5.10>

home | help