We have a COBOL program that is using excessive amounts of CPU and have determined that the majority of the time is taking place in a MULTIPLY statement. Thru the use of Compuware's STROBE product we can see that the time is being used by a COBOL module IGZCXMU to perform a Double Precision Multiply. Can anyone tell me what makes COBOL perform a Double Precision Multiply?
The MULTIPLY is coded as such:
MULTIPLY NET-AMT-AT-RISK (WK-INDEX) BY TEMP-2 GIVING TEMP-MORTALITY
NET-AMT-AT-RISK is defined as PIC S9(11)V9(5)
TEMP-2 is defined as PIC S9(9)V9(5) COMP-3
TEMP-MORTALITY is defined as PIC S9(9)V9(2) COMP-3
"; ; ; ;
"NET-AMT-AT-RISK is defined as PIC S9(11)V9(5)"
Is this really zoned-decimal? This will cause extremely hi cpu use.
NET-AMT-AT-RISK and TEMP-2 are very large and the intermediate value generated (you will not see this number) requires additional resources.
"to perform a Double Precision Multiply. "
Double Precision typically relates to Floating Point numbers. . .