ACM Home Page
Please provide us with feedback. Feedback
Digital Library logoTake a look at the new version of this page: [ beta version ]. Tell us what you think.
gprof: a call graph execution profiler
Full text PdfPdf (1.48 MB)
Source ACM SIGPLAN Notices archive
Volume 39 ,  Issue 4  (April 2004) table of contents
Best of PLDI 1979-1999
SPECIAL ISSUE: 1982 table of contents
Pages: 49 - 57  
Year of Publication: 2004
ISSN:0362-1340
Authors
Susan L. Graham  University of California, Berkeley, CA
Peter B. Kessler  Sun Microsystems, Inc., Santa Clara, CA
Marshall K. McKusick  Berkeley, CA
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 108,   Citation Count: 2
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/989393.989401
What is a DOI?

Warning: The download time has expired please click on the item to try again.


ABSTRACT

We extended the UNIX® system's profiler by gathering arcs in the call graph of a program. Here is it 20 years later and this profiler is still in daily use. Why is that? It's not because there aren't well-known areas for improvement.Large complex programs are composed of many small routines that implement abstractions for the routines that call them. To be useful, an execution profiler must attribute execution time in a way that is significant for the logical structure of a program as well as for its textual decomposition. This data must then be displayed to the user in a convenient and informative way. The gprof profiler accounts for the running time of called routines in the running time of the routines that call them. The design and use of this profiler is described.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
M. K. McKusick, "Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable", in Open Sources: Voices from the Open Source Revolution, O'Reilly, January, 1999. http://www.oreilly.com/catalog/opensources/book/kirkmck.html
 
3
"prof", Unix Programmer's Manual, Section 1, Bell Laboratories, Murray Hill, NJ, January 1979.
 
4
S. L. Graham, P. B. Kessler, and M. K. McKusick, "An execution profiler for modular programs", Software - Practice & Experience, 13(8), pp. 671--685, August 1983.
 
5
R. E. Tarjan, "Depth first search and linear graph algorithm", SIAM Journal on Computing, Volume 1, Number 2, pp. 146--160, 1972.
 
6
Sun Microsystems, Inc. "Program Performance Analysis Tools", in Forte Developer 7 Manual, Part number 816-2458-10, May 2002 Revision A. http://docs.sun.com/sources/816-2458/index.html.
 
7
GNU gprof, http://www.gnu.org/manual/gprof-2.9.1/gprof.html, 1998.
 
8
9
 
10
{Joy79} Joy, W. N., Graham, S. L., Haley, C. B. "Berkeley Pascal User's Manual", Version 1.1, Computer Science Division University of California, Berkeley, CA. April 1979.
 
11
{Knuth71} Knuth, D. E. "An empirical study of FORTRAN programs", Software - Practice and Experience, 1, 105--133. 1971
 
12
{Satterthwaite72} Satterthwaite, E. "Debugging Tools for High Level Languages", Software - Practice and Experience, 2, 197--217, 1972
 
13
{Tarjan72} Tarjan, R. E., "Depth first search and linear graph algorithm," SIAM J. Computing 1:2, 146--160, 1972.
 
14
{Unix} Unix Programmer's Manual, "prof command", section 1, Bell Laboratories, Murray Hill, NJ. January 1979.

Collaborative Colleagues:
Susan L. Graham: colleagues
Peter B. Kessler: colleagues
Marshall K. McKusick: colleagues