Sign in

docs ILE Concepts

Types of Profiling

Types of Profiling

Types of Profiling

You can profile your programs in the following two ways:

  • Block order
  • Procedure order and block order

Block order profiling records the number of times each side of a conditional branch is taken. When block order profiling data is applied to a program, a variety of profile-based optimizations are performed within procedures by the optimizing translator. For one of these optimizations, code is ordered so that the most frequently executed code paths in a procedure are contiguous within the program object. This reordering improves performance by utilizing processor components such as the instruction cache and instruction prefetch unit more effectively.

Procedure order profiling records the number of times each procedure calls another procedure within the program. Procedures within the program are reordered so that the most frequently called procedures are packaged together. This reordering improves performance by reducing memory paging.

Even though you can choose to apply only block order profiling to your program, it is recommended that you apply both types for the largest performance gains.