-->
Page 217
_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 an _s) to accumulate profile data across several runs of an objfile file. |
-v | Prints the version number for gprof, and then exits. |
-z | Displays routines that have zero usage (as shown by call counts and accumulated time). This is useful with the _c option for discovering which routines were never called. |
FILES
a.out | The name list and text space |
gmon.out | Dynamic call graph and profile |
gmon.sum | Summarized dynamic call graph and profile |
SEE ALSO
monitor(3), profil(2), cc(1), prof(1)
"An Execution Profiler for Modular Programs," by S. Graham, P. Kessler, M. McKusick; SoftwarePractice and Experience, Vol. 13, pp. 671-685, 1983.
"gprof: A Call Graph Execution Profiler," by S. Graham, P. Kessler, M. McKusick; Proceedings of the SIGPLAN '82 Symposium on Compiler Construction, SIGPLAN Notices, Vol. 17, No 6, pp. 120-126, June 1982.
HISTORY
gprof appeared in 4.2 BSD.
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.
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.
The profiled program must call exit(2) or return normally for the profiling information to be saved in the gmon.out file.
29 January 1993
greferPreprocess bibliographic references for groff
SINOPSIS
grefer [_benvCPRS] [_a n] [_c fields] [_f n] [_i fields] [_k field] [_l m,n] [_p filename] [_s fields] [_t n] [_B field.macro] [filename...]
DESCRIPTION
This file documents the GNU version of refer, which is part of the groff document formatting system. refer copies the contents of filename... to the standard output, except that lines between .[ and .] are interpreted as citations, and lines between .R1 and .R2 are interpreted as commands about how citations are to be processed.
Page 218
Each citation specifies a reference. The citation can specify a reference that is contained in a bibliographic database by giving a set of keywords that only that reference contains. Alternatively, it can specify a reference by supplying a database record in the citation. A combination of these alternatives is also possible.
For each citation, refer can produce a mark in the text. This mark consists of some label that can be separated from the text and from other labels in various ways. For each reference, it also outputs groff commands that can be used by a macro package to produce a formatted reference for each citation. The output of refer must therefore be processed using a suitable macro package. The _ms and _me macros are both suitable. The commands to format a citation's reference can be output immediately after the citation, or the references may be accumulated, and the commands output at some later point. If the references are accumulated, then multiple citations of the same reference will produce a single formatted reference.
The interpretation of lines between .R1 and .R2 as commands is a new feature of GNU refer. Documents making use of this feature can still be processed by UNIX refer just by adding the lines:
.de R1 .ig R2 ..
to the beginning of the document. This will cause troff to ignore everything between .R1 and .R2. The effect of some commands can also be achieved by options. These options are supported mainly for compatibility with UNIX refer. It is usually more convenient to use commands.
refer generates .lf lines so that filenames and line numbers in messages produced by commands that read refer output will be correct; it also interprets lines beginning with .lf so that filenames and line numbers in the messages and .lf lines that it produces will be accurate even if the input has been preprocessed by a command such as gsoelim(1).
OPTIONS
Most options are equivalent to commands (for a description of these commands, see "Commands," later in this manual page):
_b | no-label-in-text; no-label-in-reference |
_e | accumulate |
_n | no-default-database |
_C | compatible |
_P | move-punctuation |
_S | label "(A.n|Q) `, ` (D.y|D)"; bracket-label " (" ) "; " |
_an | reverse An |
_cfields | capitalize fields |
_fn | label %n |
_ifields | search-ignore fields |
_k | label L%a |
_kfield | label field%a |
_l | label A.nD.y%a |
_lm | label A.n+mD.y%a |
_l,n | label A.nD.y_n%a |
_lm,n | label A.n+mD.y_n%a |
_pfilename | database filename |
_sspec | sort spec |
_tn | search-truncate n |
These options are equivalent to the following commands with the addition that the filenames specified on the command line are processed as if they were arguments to the bibliography command instead of in the normal way:
_B | Annotate X AP; no-label-in-reference |
_Bfield.macro | Annotate field macro; no-label-in-reference |