Applying the Collected Profiling Data
Applying the Collected Profiling Data
Applying the Collected Profiling Data
Applying collected profiling data does the following:
- Instructs the machine to use the collected profiling data to reorder procedures (procedure order profiling data) in the program for optimal performance.
- Instructs the machine to use the collected profiling data (basic block profiling data) to reorder the code within procedures in the program for optimal performance.
- Removes the machine instructions from the program that were previously added when the program was enabled to collect profiling data. The program can then no longer collect profile data.
- Stores the collected profiling data in the program as observable
data:
- *BLKORD (basic block profiling observability)
- *PRCORD (procedure order profiling observability)
Once the collected data has been applied to the program, it cannot be applied again. To apply profiling data again requires you to go through the steps outlined in How to Profile a Program. Any previously applied profiling data is discarded when a program is enabled to collect profiling data.
If you want to apply the data you already collected again, you may want to make a copy of the program before applying profiling data. This may be desirable if you are experimenting with the benefits derived from each type of profiling (either block order or block and procedure ordered).
To apply profiling data, use the Change Program (CHGPGM) or Change Service Program (CHGSRVPGM) command. For the profiling data (PRFDTA) parameter specify:
- Block order profiling data (*APYBLKORD)
- Both block order and procedure profiling data (*APYALL) or (*APYPRCORD)
IBM recommends using *APYALL.
Applying profiling data to the program creates and saves two additional forms of observability with the program. You can remove these additional observabilities by using the Change Program (CHGPGM) and Change Service Program (CHGSRVPGM) commands.
- *BLKORD observability is implicitly added when block order profiling data is applied to the program. This allows the machine to preserve the applied block order profiling data for the program in cases where the program is recreated.
- Applying procedure order profiling data to the program implicitly adds *PRCORD and *BLKORD observability. This allows the machine to preserve the applied procedure order profiling data for the program in cases where the program is either recreated or updated.
For example, you apply block order profiling data to your program and then subsequently remove *BLKORD observability. The program is still block order profiled. However, any change that causes your program to be recreated will also cause it to no longer be block order profiled.