[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home |
Legal |
Search ]
Performance Management Guide
Application Tuning
Before spending a lot of effort to improve the performance of a program,
use the techniques in this chapter to help determine how much its performance
can be improved and to find the areas of the program where optimization and
tuning will have the most benefit. For an extensive discussion of these techniques,
see Optimization and Tuning Guide for XL Fortran, XL C and XL C++. Also see Designing and Implementing
Efficient Programs for additional hints and tips.
In general, the optimization process involves several steps:
- Some tuning involves changing the source code, for example, by reordering
statements and expressions. This technique is known as hand tuning.
- For FORTRAN and C programs, optimizing preprocessors are available to
tune and otherwise transform source code before it is compiled. The output
of these preprocessors is FORTRAN or C source code that has been optimized.
- The FORTRAN or C++ compiler translates the source code into an intermediate
language.
- A code generator translates the intermediate code into machine language.
The code generator can optimize the final executable code to speed it up,
depending on the selected compiler options. You can increase the amount of
optimization performed in this step by hand-tuning or preprocessing first.
The speed increase is affected by two factors:
- The amount of optimization applied to individual parts of the program
- The frequency of use for those parts of the program at run time
Speeding up a single routine might speed up the program significantly if
that routine performs the majority of the work, on the other hand, it might
not improve overall performance much if the routine is rarely called and does
not take long anyway. Keep this point in mind when evaluating the performance
techniques and data, so that you focus on the techniques that are most valuable
in your work.
This chapter contains the following major sections:
[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home |
Legal |
Search ]