An execution profiler for modular programs

SL Graham, PB Kessler… - Software: Practice and …, 1983 - Wiley Online Library
SL Graham, PB Kessler, MK McKusick
Software: Practice and Experience, 1983Wiley Online Library
In modular programs, groups of routines constitute conceptual abstractions. A method for
providing execution profiles for such programs is presented. The central idea is that the
execution time for a routine is charged to the routines that call it. The implementation of this
method by a profiler called gprof is described. The techniques used to gather the necessary
information about the timing and structure of the program are given, as is the processing
used to propagate routine execution times along arcs of the call graph of the program. The …
Abstract
In modular programs, groups of routines constitute conceptual abstractions. A method for providing execution profiles for such programs is presented. The central idea is that the execution time for a routine is charged to the routines that call it. The implementation of this method by a profiler called gprof is described. The techniques used to gather the necessary information about the timing and structure of the program are given, as is the processing used to propagate routine execution times along arcs of the call graph of the program. The method for displaying the profile to the user is discussed. Experience using the profiles for hand‐tuning large programs is summarized. Additional uses for the profiles are suggested.
Wiley Online Library