Walter,
I once did some deep analysis of where cpu time went in a program, (on
MPE-V)and found many interesting things....the biggest single class of cpu
hogs was floating point arithmetic. This was using an hp product which would
run the program as a child and watch it. You could define how closely you
watched the code, ie accumulate cpu time based on n words of object code, or
just entry points. Once you knew which entry points were worst, you could
close in further to localize which instruction offsets consumed most cpu.
With a MAP option from the link/compile you could derive the source
instructions.
Currently my biggest wins in reducing program size come from careful
checking that all the code is in fact called , and removing stuff that isn't
used. Happens mostly when somebody says 'just copy program A and bend it to
make program B, quickly please'...
jp
Original Message -----
From: "Walter Murray" <[log in to unmask]>
To: <[log in to unmask]>
Sent: Thursday, June 10, 2004 3:05 PM
Subject: Re: [HP3000-L] OCCURS DEPENDING clause - COBOL
> "Shahan, Ray" <[log in to unmask]> wrote:
> >In an effort to squeeze out every last drop of 'oomph' from the 3k, we're
> reviewing some of the
> >existing programs to see if we can do anything to increase their
> performance. One thing that I noticed
> >in some of the programs is that they have very large internal arrays (one
> prog has two separate arrays
> >that both have 9999 elements). In the past, I've always used the
DEPENDING
> ON phrase to
> >dynamically allocate the elements as required (and to downsize the array
> when the elements were no
> >longer needed).
>
> >I have been told that using the depending on phrase no longer matters
since
> MPE (via the COBOL
> >compiler?) will allocate the space required for the upper limit of the
> array's size regardless of what the
> >array size variable contains. I searched the archives, but did not see
the
> answer for this, so does
> >anyone out there have the definitive answer?
>
> When I attended my first meeting of J4 (the COBOL standards committee),
> everybody was talking about ODO tables. It took me a while to figure out
> that ODO stood for "Occurs Depending On".
>
> I can't speak definitively, but, based on my recollection of the internals
> of the HP COBOL compiler, I can't think of any situation where the
compiler
> would allocate less then the maximum size of the table.
>
> If I used an ODO table, it would be mostly for stylistic reasons, or to
try
> to make the code cleaner and clearer. I wouldn't expect any performance
> advantage.
>
> Walter
>
> * To join/leave the list, search archives, change list settings, *
> * etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|