One of the more difficult tasks in software development is determining why an application performs slowly or inefficiently. Before Team System, developers needed to turn to external tools to effectively analyze performance. Fortunately, Team System Team Developer Edition includes profiling tools that are fully integrated with both the IDE and other Team System features.
In this chapter, we introduce Team System's profiling tools. You'll learn how to use them to identify problems such as inefficient code, over-allocation of memory, and bottlenecks. You will learn about the two main profiling options, sampling and instrumentation, including how to use each and when each should be applied.
After you learn how to run profiling analyses, you will learn how to use the detailed reporting features that enable you to view performance metrics in a number of ways, including results by function, caller/callee inspection, call tree details, and other views.
Not all scenarios can be supported when using the Team System IDE. For times when you need additional flexibility, you will learn about the command-line options for profiling applications. This will enable you to integrate profiling with your build process and enables some advanced profiling options.
Finally, we introduce Team System's profiling APIs, which enable you to highly customize how specific aspects of your code are profiled.