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

FreeBSD Manual Pages


home | help
prof(1)			    General Commands Manual		       prof(1)

       prof - display profile data

       mdata] [prog]

       interprets  a  profile  file produced by	(see monitor(3C)).  The	symbol
       table in	the object file	prog by	default) is read and correlated	with a
       profile	file by	default).  For each external text symbol, the percent-
       age of time spent executing between the address of that symbol and  the
       address	of the next is printed,	together with the number of times that
       function	was called and the average number of milliseconds per call.

       The mutually exclusive options and determine the	type of	sorting	of the
       output lines:

	      Sort by decreasing percentage of total time (default).

	      Sort by decreasing number	of calls.

	      Sort by increasing symbol	address.

	      Sort by symbol name in ascending collation order
			  (see Environment Variables below).

       The  mutually exclusive options and specify the printing	of the address
       of each symbol monitored:

	      Print each symbol	address	(in octal) along with the symbol name.

	      Print each symbol	address	(in hexadecimal) along with the	symbol

       The following options can be used in any	combination:

	      Include non-global symbols (static functions).

	      Include all symbols in the profile range (see
			  monitor(3C)),	even if	associated with	zero number of
			  calls	and zero time.

	      Suppress the heading normally printed on the report.
			  (This	is useful if the report	 is  to	 be  processed

	      Print a summary of several of the	monitoring parameters and sta-
			  on the standard error	output.

	      Use file	  mdata	instead	of as the input	profile	file.

       A program creates a profile file	if it has been loaded using the	option
       (see  cc_bundled(1)).  This option to the command arranges for calls to
       at the beginning	and end	of execution (see  monitor(3C)).   It  is  the
       call  to	the command at the end of execution that causes	a profile file
       to be written.  The number of calls to a	function is tallied if the op-
       tion was	used when the file containing the function was compiled.

       The name	of the file created by a profiled program is controlled	by the
       environment variable If is not set, is produced in the  directory  cur-
       rent  when the program terminates.  If is produced, where progname con-
       sists of	argv[0]	with any path prefix removed, and pid is the program's
       process	ID.   If  is set to a null string, no profiling	output is pro-

   Environment Variables
       determines the collating	order output by	the option.

       If is not specified in the environment or is set	to the	empty  string,
       the  value  of  is used as a default.  If is not	specified or is	set to
       the empty string, a default of ``C'' (see lang(5)) is used  instead  of
       If  any	internationalization variable contains an invalid setting, be-
       haves as	if all internationalization variables are set  to  ``C''  (see

       The  times  reported in successive identical runs may show variances of
       20% or more, because of varying cache-hit ratios	due to sharing of  the
       cache with other	processes.  Even if a program seems to be the only one
       using the machine, hidden background or asynchronous processes may blur
       the  data.   In rare cases, the clock ticks initiating recording	of the
       program counter may ``beat'' with loops in a program, grossly  distort-
       ing measurements.

       Call counts are always recorded precisely, however.

       Only  programs  that  call (see exit(2))	or return from cause a profile
       file to be produced, unless a final call	to is explicitly coded.

       The use of the option to	invoke profiling imposes a limit of 600	 func-
       tions that can have call	counters established during program execution.
       For more	counters, call directly.  If this  limit  is  exceeded,	 other
       data  is	 overwritten  and  the	file is	corrupted.  The	number of call
       counters	used is	reported automatically by  the	command	 whenever  the
       number exceeds 5/6 of the maximum.

       for profile
       for namelist

       cc_bundled(1), exit(2), profil(2), crt0(3), end(3C), monitor(3C).



Want to link to this manual page? Use this URL:

home | help