summaryrefslogtreecommitdiff
path: root/gprof/gprof.1
diff options
context:
space:
mode:
Diffstat (limited to 'gprof/gprof.1')
-rw-r--r--gprof/gprof.1252
1 files changed, 0 insertions, 252 deletions
diff --git a/gprof/gprof.1 b/gprof/gprof.1
deleted file mode 100644
index 5a734da0b21..00000000000
--- a/gprof/gprof.1
+++ /dev/null
@@ -1,252 +0,0 @@
-.\" Copyright (c) 1983, 1990 The Regents of the University of California.
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms are permitted provided
-.\" that: (1) source distributions retain this entire copyright notice and
-.\" comment, and (2) distributions including binaries display the following
-.\" acknowledgement: ``This product includes software developed by the
-.\" University of California, Berkeley and its contributors'' in the
-.\" documentation or other materials provided with the distribution and in
-.\" all advertising materials mentioning features or use of this software.
-.\" Neither the name of the University nor the names of its contributors may
-.\" be used to endorse or promote products derived from this software without
-.\" specific prior written permission.
-.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
-.\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
-.\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-.\"
-.\" @(#)gprof.1 6.6 (Berkeley) 7/24/90
-.\"
-.TH GPROF 1 "January 29, 1993"
-.SH NAME
-gprof \- display call graph profile data
-.SH SYNOPSIS
-.B gprof [ \-abcsz ] [ \-e|\-E
-.I name
-.B ] [ \-f|\-F
-.I name
-.B ]
-.B [ \-k
-.I fromname toname
-.B ] [
-.I objfile
-.B [
-.I gmon.out
-.B ]
-.B ]
-.SH DESCRIPTION
-.B gprof
-produces an execution profile of C, Pascal, or Fortran77 programs.
-The effect of called routines is incorporated in the profile of each caller.
-The profile data is taken from the call graph profile file
-\&(`gmon.out' default) which is created by programs
-that are compiled with the
-.B \-pg
-option of
-.BR cc ( 1 ) ,
-.BR pc ( 1 ) ,
-and
-.BR f77 ( 1 ) .
-The
-.B \-pg
-option also links in versions of the library routines
-that are compiled for profiling.
-.B Gprof
-reads the given object file (the default is `a.out')
-and establishes the relation between its symbol table
-and the call graph profile from `gmon.out'.
-If more than one profile file is specified,
-the
-.B gprof
-output shows the sum of the profile information in the given profile files.
-.PP
-.B Gprof
-calculates the amount of time spent in each routine.
-Next, these times are propagated along the edges of the call graph.
-Cycles are discovered, and calls into a cycle are made to share the time
-of the cycle.
-The first listing shows the functions
-sorted according to the time they represent
-including the time of their call graph descendants.
-Below each function entry is shown its (direct) call graph children,
-and how their times are propagated to this function.
-A similar display above the function shows how this function's time and the
-time of its descendants is propagated to its (direct) call graph parents.
-.PP
-Cycles are also shown, with an entry for the cycle as a whole and
-a listing of the members of the cycle and their contributions to the
-time and call counts of the cycle.
-.PP
-Second, a flat profile is given,
-similar to that provided by
-.BR prof ( 1 ) .
-This listing gives the total execution times, the call counts,
-the time in milliseconds the call spent in the routine itself, and
-the time in milliseconds the call spent in the routine itself including
-its descendants.
-.PP
-Finally, an index of the function names is provided.
-.SH OPTIONS
-The following options are available:
-.TP
-.B \-a
-suppresses the printing of statically declared functions.
-If this option is given, all relevant information about the static function
-(e.g., time samples, calls to other functions, calls from other functions)
-belongs to the function loaded just before the static function in the
-\&`objfile' file.
-.TP
-.B \-b
-suppresses the printing of a description of each field in the profile.
-.TP
-.B \-c
-the static call graph of the program is discovered by a heuristic
-that examines the text space of the object file.
-Static-only parents or children are shown
-with call counts of 0.
-.TP
-.BI "\-e " name
-suppresses the printing of the graph profile entry for routine
-.I name
-and all its descendants
-(unless they have other ancestors that aren't suppressed).
-More than one
-.B \-e
-option may be given.
-Only one
-.I name
-may be given with each
-.B \-e
-option.
-.TP
-.BI "\-E " name
-suppresses the printing of the graph profile entry for routine
-.I name
-(and its descendants) as
-.B \-e ,
-above, and also excludes the time spent in
-.I name
-(and its descendants) from the total and percentage time computations.
-(For example,
-.BI "\-E " mcount
-.BI "\-E " mcleanup
-is the default.)
-.TP
-.BI "\-f " name
-prints the graph profile entry of only the specified routine
-.I name
-and its descendants.
-More than one
-.B \-f
-option may be given.
-Only one
-.I name
-may be given with each
-.B \-f
-option.
-.TP
-.BI "\-F " name
-prints the graph profile entry of only the routine
-.I name
-and its descendants (as
-.B \-f ,
-above) and also uses only the times of the printed routines
-in total time and percentage computations.
-More than one
-.B \-F
-option may be given.
-Only one
-.I name
-may be given with each
-.B \-F
-option.
-The
-.B \-F
-option
-overrides
-the
-.B \-E
-option.
-.TP
-.BI "\-k " "fromname toname"
-will delete any arcs from routine
-.I fromname
-to routine
-.IR toname .
-This can be used to break undesired cycles.
-More than one
-.B \-k
-option may be given.
-Only one pair of routine names may be given with each
-.B \-k
-option.
-.TP
-.B \-s
-a profile file `gmon.sum' is produced that represents
-the sum of the profile information in all the specified profile files.
-This summary profile file may be given to later
-executions of gprof (probably also with a
-.BR \-s )
-to accumulate profile data across several runs of an `objfile' file.
-.TP
-.B -v
-prints the version number for gprof, and then exits.
-.TP
-.B -z
-displays routines that have zero usage (as shown by call counts
-and accumulated time).
-This is useful with the
-.B \-c
-option for discovering which routines were never called.
-.PP
-.SH FILES
-.ta \w'gmon.sum 'u
-a.out the namelist and text space.
-.br
-gmon.out dynamic call graph and profile.
-.br
-gmon.sum summarized dynamic call graph and profile.
-.SH SEE ALSO
-.BR monitor ( 3 ) ,
-.BR profil ( 2 ) ,
-.BR cc ( 1 ) ,
-.BR prof ( 1 )
-.sp
-``An Execution Profiler for Modular Programs'',
-by S. Graham, P. Kessler, M. McKusick;
-.I
-Software \- Practice and Experience,
-Vol. 13, pp. 671-685, 1983.
-.sp
-``gprof: A Call Graph Execution Profiler'',
-by S. Graham, P. Kessler, M. McKusick;
-.I
-Proceedings of the SIGPLAN '82 Symposium on Compiler Construction,
-SIGPLAN Notices, Vol. 17, No 6, pp. 120-126, June 1982.
-.SH HISTORY
-.B Gprof
-appeared in 4.2 BSD.
-.SH BUGS
-The granularity of the sampling is shown, but remains
-statistical at best.
-We assume that the time for each execution of a function
-can be expressed by the total time for the function divided
-by the number of times the function is called.
-Thus the time propagated along the call graph arcs to the function's
-parents is directly proportional to the number of times that
-arc is traversed.
-.PP
-Parents that are not themselves profiled will have the time of
-their profiled children propagated to them, but they will appear
-to be spontaneously invoked in the call graph listing, and will
-not have their time propagated further.
-Similarly, signal catchers, even though profiled, will appear
-to be spontaneous (although for more obscure reasons).
-Any profiled children of signal catchers should have their times
-propagated properly, unless the signal catcher was invoked during
-the execution of the profiling routine, in which case all is lost.
-.PP
-The profiled program must call
-.BR exit ( 2 )
-or return normally for the profiling information to be saved
-in the `gmon.out' file.