Improving CPU utilization

This topic provides tips that help you obtain better CPU utilization.

  • Reduce the number of GETMAINs and FREEMAINs issued by Language Environment.

    Use the Language Environment RPTSTG(ON) option to produce the storage report. Specify the reported storage amount in the corresponding Language Environment storage runtime options.

  • Reduce the number of LOADs and DELETEs issued by Language Environment.

    Put the commonly used Language Environment library routines in (E)LPA. The following list shows the recommended candidates for PL/I:

    • CEEBINIT (LPA)
    • CEEPLPKA (ELPA)
    • CEEEV010 (ELPA) if you still have OS PL/I applications
    • CEEEV011 (ELPA) for Enterprise PL/I applications
    • CEEBLIIA (LPA) for OS PL/I applications not relinked
    • IBMRLIB1 (LPA)

    See z/OS Language Environment Installation and Customization under OS/390 or z/OS Language Environment Customization for a complete list of library routines that can be put in (E)LPA.

  • Avoid AMODE switching between library routines.

    Use AMODE(31) for your application, if possible, so you can specify Language Environment ALL31(ON) option. If ALL31(ON) is in effect, there will be no AMODE switching among library routines.

  • Avoid overuse of PL/I conditions.

    All PL/I condition handling is expensive and should only be used where appropriate. Overuse of PL/I condition handling will degrade the performance of your application.

  • Use DFSMS-provided system-determined BLKSIZE.

    On MVS, use BLKSIZE(0) for an output file that can be blocked. DFSMS determines the optimal block size for you, which can improve the file performance.

  • Use Language Environment Library Routine Retention facility (LRR).

    You can get a better CPU performance if you use LRR. When LRR is used, Language Environment keeps certain Language Environment resources in storage when an application ends. Subsequent invocations of programs that use LRR is much faster because the Language Environment resources left in storage are reused.

    For example, you can use LRR for your IMS/DC environment to improve performance.

    Note that because LRR leaves Language Environment resources in the storage for a long period of time, you must assess your storage availability to accommodate the situation.