Factoring expressions
By factoring expressions in your programs, you can potentially eliminate a lot of unnecessary computation.
For example, the first block of code below is more efficient than the second block of code:
MOVE ZERO TO TOTAL
PERFORM VARYING I FROM 1 BY 1 UNTIL I = 10
COMPUTE TOTAL = TOTAL + ITEM(I)
END-PERFORM
COMPUTE TOTAL = TOTAL * DISCOUNT
MOVE ZERO TO TOTAL
PERFORM VARYING I FROM 1 BY 1 UNTIL I = 10
COMPUTE TOTAL = TOTAL + ITEM(I) * DISCOUNT
END-PERFORM
The optimizer does not factor expressions
across multiple statements. For details, see Factoring expressions in the Enterprise COBOL for z/OS® Performance Tuning Guide.