Sun Performance WorkShop Fortran Overview

Tuning

After you have successfully debugged your program, you can evaluate its performance with the Sampling Analyzer, a program designed to help you tune application performance, including memory allocation. The Sampling Analyzer measures and graphically displays your application's performance profile and suggests ways to improve performance. Its special data collection instrumentation eliminates the need to continually compile and link an application--any program that has been compiled can be analyzed.

Analyze a Variety of Performance Data

The performance data you can examine in the Sampling Analyzer include:

Control Your Analysis

The debugger serves as the data-gathering front end for the Sampling Analyzer. You can control the data collection process with the Sampling Collector window in dbx or the debugger while your program is running. You can collect data only between breakpoints, or you can limit data collection to a particular part of the program. The program run in which you collect data is known as an experiment, and the data file created by the Collector is called the experiment record. You then use the Sampling Analyzer to identify performance bottlenecks in the collected data.


Note -

Performance tuning and runtime checking are mutually exclusive processes. You can perform only one or the other at a time. The information you receive from tuning your application can be adversely affected if you try to perform runtime checking simultaneously.


Focus on Problems

Test your hypotheses about a program's behavior by focusing on the areas where performance problems occur. To rebuild your programs with improved performance, use the Sampling Analyzer to identify areas where you can improve ordering for loading functions into the program's address space. In some cases, the Sampling Analyzer can improve performance automatically by creating a mapfile that instructs the linker to remap functions in memory more efficiently.

Find Which Modules Do the Calling

Performance analysis tools provide a range of analysis levels, from simple timing of a command to a statement-by-statement analysis of a program. While a flat profile can provide valuable data for performance improvements, sometimes the data is not sufficient to point out exactly where improvements can be made. You can obtain a more detailed analysis by using the call graph profile to identify which modules are called by other modules, and which modules call other modules.