And those results mirror the results I have seen from application-level 
MIPS-reduction exercises over the last several years.  Eliminating "long" moves 
(FSVO "long") reduced measured CPU time by non-trivial amounts (in batch, on 
average, over multiple runs, over millions of input records), adding up to a 
provable significant savings at the end of the exercises.  These were mostly 
COBOL programs, but any change that eliminated an MVCL in the generated code 
helped.

It may not seem logical, but measurements bear out the facts.

Peter

> -----Original Message-----
> From: IBM Mainframe Discussion List [mailto:[email protected]] On
> Behalf Of Andy Coburn
> Sent: Tuesday, May 31, 2011 6:10 PM
> To: [email protected]
> Subject: Re: What is the current feeling for MVC loop vs. MVCL?
> 
> The following is a snip from a program which I just ran on our Z10 whose
> characteristics are shown last below. The program first moved 65536 bytes
> from one location to another using MVCL and did this 1 million times.
> You'll see it took ~56 seconds. Then the same number of bytes were moved
> using 1 million MVC loops. This took ~8 seconds. Finally, the same number
> of bytes were moved 1 million times using MVCLE.
> 
> I have run this program on every CEC that I have had available to me and
> the results are always relatively the same although the actual numbers
> change.
> 
> MVCL has some extraordinarily useful functions: Truncation, padding and
> returning addresses and lengths after MVCL. Each of these would have to be
> done manually if a MVC loop were used and these instructions would have to
> be added into the total time for MVC loops. And, yes, I wrote a MVCL
> macro.
> But once one tries to support the case where bits 8 through 31 of  R1+1
> and R2+1 are not equal the macro gets very big and very awkward. And the
> macro would have to return the 4 registers with contents the same as MVCL
> would.
> 
> 
> 1 MILLION MVCL INSTRUCTIONS  IN SECONDS      55.961093
> 1 MILLION MVC LOOPS          IN SECONDS       8.389260
> 1 MILLION MVCLE INSTRUCTIONS IN SECONDS     115.548643
> 
> 
> OPERATING SYSTEM= HBB7770SP7.1.2 HBB7770
> CPU ID FROM STIDP: TYPE=2098 VERSION=00 SERIAL=00XXXX
> EXECUTION ENVIRONMENT: LPAR=YES VM=NO
> CPU ID FROM STSI: MANUF=IBM TYPE=2098 MODEL=R03 SERIAL=00000000000XXXXX
> VERSION CODE FROM CONVERSION TABLE=
> ROLLING 4-HOUR AVERAGE UTILIZATION IS 23 MSUS
> LPAR XXXX IS UNCAPPED IN A 89 MSU CEC
> ADJ FACTOR 1946 ACCUM WEIGHT 6385225 TIMES ACCUM 23219
> LPAR_NAME=XXXX LPAR_ID=0003 LPAR_SIZE=89 CEC_SIZE=89 ARCH=Z/ARCHITECTURE
--

This message and any attachments are intended only for the use of the addressee 
and
may contain information that is privileged and confidential. If the reader of 
the 
message is not the intended recipient or an authorized representative of the
intended recipient, you are hereby notified that any dissemination of this
communication is strictly prohibited. If you have received this communication in
error, please notify us immediately by e-mail and delete the message and any
attachments from your system.


----------------------------------------------------------------------
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

Reply via email to