Steps in the optimization process

As you begin the optimization process, consider that not all optimization techniques suit all applications. Trade-offs sometimes occur between an increase in compile time, a reduction in debugging capability, and the improvements that optimization can provide.

Learning about, and experimenting with different optimization techniques can help you strike the right balance for your XL compiler applications while achieving the best possible performance. Also, though it is unnecessary to hand-optimize your code, compiler-friendly programming can be extremely beneficial to the optimization process. Unusual constructs can obscure the characteristics of your application and make performance optimization difficult. Use the steps in this section as a guide for optimizing your application.

  1. The Basic optimization step begins your optimization processes at levels 0 and 2.
  2. The Advanced optimization step exposes your application to more intense optimizations at levels 3, 4 and 5.
  3. The High-order transformation (HOT) step can help you reduce loop execution time.
  4. The Interprocedural analysis (IPA) step can optimize your entire application at once.
  5. The Profile-directed feedback (PDF) step focuses optimizations on specific characteristics of your application.
  6. The Debugging optimized code step can help you identify issues and problems that can occur with optimized code.
  7. The Getting more performance section offers other strategies and tuning alternatives to compiler-driven optimization.

The section Compiler-friendly programming techniques contains tips for writing more easily optimized source code.