This brings to mind on old issue I had at a previous employer. The issue came down to inappropriate defintions of numeric fields and data conversion.
First the subscripts were display format. This caused the folloing sequence of instructions to be executed for each iteration of the subsript (perform varying). PACK CVB Add 1 to subscript CVD UNPACK. Likewise each reference to the subscript caused (at least) the following (move zeroes to field(subscript). PACK CVB Use in reference To make matters eve worse, the targets of the subscript were also display (field (subsrcript). When the field defintions were changed to packed or binary representations as appropriate, The program went from consuming 50-60% of a 370-138 to 5% of the same machine. The instruction sequences became (respectively) L (or ICM) subscript into register Add 1 STORE Use in reference Granted this was done on old harware, but the principle is the same. Verify your data descriptions Are appropriate for the logic used. Also if this is code execution on a z/nnnn box, remember the 256 byte data path. References to code & data within 256 bytes of each other cause the CPU cache to be flushed and the data re-fetched, resulting in increased CPU time. Feel free to contact me off-list if needed, Al Alan Schwartz wrote: <snip> Greetings group. We have a bit of a puzzlement here and we're hoping someone can shed a little light on this. We've got an application that is working on becoming 31-bit capable. We got involved when they had a program using more cpu than before. By equalizing the compile options and re-compiling changing only one option at a time we found that the slower program used DATA(31) and the faster program used DATA(24). All other Cobol options are the same and the files used are the same! We've sent listings to IBM but so far we haven't come to a resolution. IBM has compared the execution code between the two compiled versions of the main program and they are indicating that there is NO difference in the instructions executed. The IBM techie is indicating that he thinks programs that are being called by the main program may be the culprit. We've Strobed both runs but the results are confusing/misleading so we've sent them to Compuware (and IBM) for assistance in analyzing them (nothing back yet). All testing is on z/OS 1.4 with Enterprise Cobol 3.2. The only modules statically linked are LE routines and they are all RMODE ANY and AMODE(ANY/31). The main program does call a number of other modules which are all Amode(31) and a mix of Rmode ANY/24. </snip> ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

