Check out the new USENIX Web site.

Call Path Profiling of Monotonic Program Resources in UNIX

Robert J. Hall and Aaron J. Goldberg
AT&T Bell Laboratories
600 Mountain Ave.
Murray Hill, NJ 07974


Practical performance improvement of a complex program must be guided by empirical measurements of its resource usage. Essentially, the programmer wants to know where in the source code the program is inefficient and why this is so. The process interface of UNIX System V (proc(4)) provides access to the raw data (e.g. time, faults, traps, and system calls) necessary to answering the why question, but gives no guidance in answering the where question. This paper describes a novel approach to the latter, Call Path Profiling, which is both more informative and more closely tied to the process of program optimization than either trace-based or prof/gprof-like approaches. In addition, by viewing consumption of a resource as the ticking of a clock, we generalize the interval-based sampling approach of time profilers to arbitrary monotonic resources. The approach is embodied in several prototypes, including CPPROF which operates under System V.

Download the full text of this paper in ASCII (44,988 bytes) form.

To Become a USENIX Member, please see our Membership Information.