Introduction

The Etch Call Graph Profiler is an Etch tool designed to give you precise and complete information about the bottlenecks and time-sinks in your application. The tool can be used with Win32 applications and DLLs, including multi-threaded applications. As it is based on Etch, the tool gives you the convenience of creating a profiled version of an application directly from the executable, without requiring source code and without complicating the build environment. Debugging information enables the tool to provide output using procedure names. When debugging information is not available, it profiles in terms of address ranges.

The Etch Call Graph Profiler provides a complete view of application performance. Rather than using statistical sampling, as is used by many profilers, it uses Etch instrumentation to monitor all procedure calls and returns during the application run. The tool uses the Pentium's hardware cycle counter to record all activity in application modules. By monitoring calls into DLL routines, the tool can also measure time spent in system modules. This helps to identify the DLLs where your application spends the most time, even for modules that are not rewritten by Etch.

Hierarchical profile information is presented based on the application call graph. For each procedure in the application the tool reports three times: time spent in the procedure itself, time spent in routines called by the procedure, and total time for the procedure. This makes it easy to relate execution time to the high-level activities of an application and understand where the time is going.

Features of CGProfile


Copyright (c) 1997 The University of Washington. All rights reserved.