IBM Support

PH41632: PERFORMANCE OF INITIALIZE OR MOVE STATEMENTS MAY BE WORSE IN COBOL 6.3 THAN IN COBOL 6.2

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Performance of INITIALIZE or MOVE statements may be worse in
    COBOL 6.3 than in COBOL 6.2
    

Local fix

  • None.  Apply PTF
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.3 compiling      *
    *                 programs at OPT(1|2) with INITIALIZE         *
    *                 statements or consecutive MOVE statements    *
    *                 that initialize or MOVE SPACES (or similar   *
    *                 values that repeat the same single byte of   *
    *                 data) to consecutive alphanumeric or USAGE   *
    *                 DISPLAY data items that are at between 9     *
    *                 and 31 bytes each.                           *
    ****************************************************************
    * PROBLEM DESCRIPTION: Performance of INITIALIZE or MOVE       *
    *                      statements may be worse in COBOL 6.3    *
    *                      than in COBOL 6.2                       *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF                       *
    ****************************************************************
    The compiler will attempt to merge stores of constant values to
    sequential receivers, whether generated by individual
    consecutive MOVE statements, a group MOVE, or INITIALIZE
    statements, into single larger moves, as this gives better
    performance than individual smaller moves. In Enterprise COBOL
    6.3, the compiler was changed to take advantage of further
    performance improvements using ripple copies: where a single
    byte of data is written to a receiver and then that byte is
    copied to successive bytes of that and possibly other
    consecutive receivers. In cases where the compiler identified
    possible ripple-copy opportunities in the middle of a sequence
    of consecutive constant stores, the compiler was interrupting
    the sequence of stores while also failing to combine the stores
    involved in the ripple copy, leading to an increased number of
    store operations compared to COBOL 6.2.
    

Problem conclusion

  • The compiler was fixed to combine stores into ripple copies, if
    a sequence is found in the middle of consecutive stores, only
    if the combined size of the ripple-copy items totals 32 bytes.
    If the combined size is less than 32 bytes, the compiler was
    also fixed to still consider the ripple-copy stores as part of
    a longer sequence of consecutive stores to combine into one
    larger store.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH41632

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    630

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-10-27

  • Closed date

    2021-11-18

  • Last modified date

    2021-12-01

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • IGY8RWTU IGYCASMB IGYCCBE  IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN
    IGYCDIAG IGYCDMAP IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4
    IGYCEN$5 IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT
    IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8
    IGYCJA$D IGYCJA$R IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2
    IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOSCN IGYCPGEN IGYCRCTL IGYCRDPR
    IGYCRDSC IGYCREAL IGYCRWT  IGYCSCAN IGYCSIMD IGYCUE$0 IGYCUE$1
    IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8 IGYCUE$D IGYCUE$R
    IGYCXREF IGYDRV   IGYEQCWI IGYMSGE  IGYMSGK  IGYMSGT  IGYQCBE
    IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R630 PSY UI78163

       UP21/11/25 P F111

  • R631 PSY UI78164

       UP21/11/25 P F111

  • R632 PSY UI78165

       UP21/11/25 P F111

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"630","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023