cobol performance tuning

Download Cobol Performance Tuning

Post on 10-Apr-2015

1.765 views

Category:

Documents

7 download

Embed Size (px)

TRANSCRIPT

IBM COBOL for MVS & VM Version 1 Release 2 Performance Tuning

January 26, 1996

R. J. Arellanes IBM Corporation Software Solutions 555 Bailey Avenue San Jose, CA 95141

DisclaimerThe performance considerations contained in this paper were obtained by running sample programs in a particular hardware/software configuration using a selected set of tests and are presented as illustrations. Since performance varies with configuration, sample program characteristics, and other installation and environment factors, results obtained in other operating environments may vary. We recommend that you construct sample programs representative of your workload and run your own experiments with a configuration applicable to your environment. IBM does not represent, warrant, or guarantee that a user will achieve the same or similar results in the user's environment as the experimental results reported in this paper.

Distribution NoticePermission is granted to distribute this paper to IBM customers. IBM retains all other rights to this paper, including the right for IBM to distribute this paper to others.

| | | | | |

Third Edition, January 1996 This edition applies to IBM COBOL for MVS & VM Version 1 Release 2 running with IBM Language Environment for MVS & VM Version 1 Release 5, and to all subsequent releases and modifications until otherwise indicated in new editions. This edition replaces all previous editions of this document. All changes made in the third edition are marked with change bars as indicated to the left of this paragraph. Copyright IBM Corporation, 1993, 1996

ContentsIntroduction . . . . . . . . . Referenced IBM Publications Background . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 1 3 3 3 3 4 4 4 5 5 6 6 6 7 7 8 8 8 9 9 9 9 10 10 11 11 11 11 11 12 13 13 14 15 15 15 16 16 16 17 18 19 20 21 22 22 22 22 23 23

Tuning the Run-Time Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Compiler Options that Affect Run-Time Performance . . . . . . . . . . . . . . . . . . AWO or NOAWO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CMPR2 or NOCMPR2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | DATA(24) or DATA(31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DYNAM or NODYNAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . FASTSRT or NOFASTSRT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . N U M P R O C - NOPFD, MIG, or P F D . . . . . . . . . . . . . . . . . . . . . . . . . OPTIMIZE(STD), OPTIMIZE(FULL), or NOOPTIMIZE . . . . . . . . . . . . . R E N T or N O R E N T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R M O D E - AUTO, 24, or ANY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SSRANGE or NOSSRANGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TEST or NOTEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . T R U N C - BIN, STD, or OPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Run-Time Options that Affect Run-Time Performance . . . . . . . . . . . . . . . . . . AIXBLD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ALL31 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CHECK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . DEBUG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RPTOPTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RPTSTG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . RTEREUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . STORAGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TEST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . TRAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . VCTRSAVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COBOL and LE Features that Affect Run-Time Performance . . . . . . . . . . . . . . Storage Management Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Calling IGZERRE . . . . . . . . . . . . . . . . . . . | Using the CEEENTRY and CEETERM Macros | Using Preinitialization Services (CEEPIPI) . . . . . . . . . . . . . . . . . . . . . . . | Using Library Routine Retention (LRR) . . . . . . . . . . . . . . . . . . . . . . . . Tailoring COBPACKs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Library in the LPA/ELPA (MVS) or NSS (CMS) . . . . . . . . . . . . . . . . . . . Using CALLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Other Product Related Factors that Affect Run-Time Performance . . . . . . . . . . . | Mixing VS COBOL II or COBOL/370 Rel 1 with COBOL for MVS & VM Rel 2 Mixing OS/VS COBOL with COBOL/370 Rel 1 or COBOL for MVS & VM Rel 2 First Program Not COBOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IMS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . CICS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | DFSORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Efficient COBOL Coding Techniques Data Files . . . . . . . . . . . . . . . QSAM Files . . . . . . . . . . . . Variable-Length Files . . . . . . . VSAM Files . . . . . . . . . . . . Data Types . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . .

Contents

iii

BINARY (COMP or COMP-4) Data Conversions . . . . . . . . . DISPLAY . . . . . . . . . . . . . PACKED-DECIMAL (COMP-3) Comparing Data Types . . . . . . Fixed-Point vs Floating-Point . . Indexes vs Subscripts . . . . . . . OCCURS D E P E N D I N G O N . . Program Design . . . . . . . . . . . . Algorithms . . . . . . . . . . . . . Data Structures and Data Types . Coding Style . . . . . . . . . . . . Factoring Expressions . . . . . . . Symbolic Constants . . . . . . . . Subscript Checking . . . . . . . . Subscript Usage . . . . . . . . . . Searching . . . . . . . . . . . . . . Recent Performance Improvements A Performance Checklist Summary

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . .

23 24 24 24 25 25 25 26 26 26 26 27 27 27 27 27 28 29 30 31 32 34 35 35 36 38 40 42 44

. . . . . . . . . . . . . . . . . . . . . . . .