Correction: as we can see from the example I posted, when generating a MVC 
loop, it ALWAYS generates one more MVC at the end, even if the size of the 
field is evenly divisible by 256.

For example, to move 77,824 bytes it could have looped 304 times with nothing 
left over. Instead it looped 303 times, then did another MVC of 256 bytes.

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Schmitt, Michael
Sent: Thursday, October 31, 2024 4:54 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Bounded string move?

That made me wonder: What does IBM think is the fasted move for various lengths?

Testing with IBM Enterprise COBOL for z/OS 6.2, compiled at OPT(2),ARCH(12) on 
a z/14, moving from a fixed length field to a field of the same length and 
can't be optimized away...

 -      1 to  4,096 bytes: generates a series of MVCs
 -  4,097 to 77,824 bytes: generates an MVC loop, followed by one more if needed
 - 77,825 and up:          generates an MVCL

77,824 is an odd number to break on. It is 19 * 4096.


If you're interested, the MVC loop for a length of 77,824 is:

000013            LA      R2,152(,R9)           #  IN-W
000013            LA      R1,0(,R4)             #  OUT-W
000013            LHI     R0,0x12f
000013            NOP
000013  L0052:    EQU     *
000013            MVC     0(256,R1),0(R2)       #
000013            LA      R2,256(,R2)           #
000013            LA      R1,256(,R1)           #
000013            BRCT    R0,L0052
000013            MVC     0(256,R1),0(R2)       #



-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Steve Thompson
Sent: Thursday, October 31, 2024 4:18 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Bounded string move?

Uh, isn't that true up to about 1024 bytes (MVCs stacked)? And
then after the MVCL seems to be faster.

I think I was at some disclosure meeting or SHARE when that was
said prior to 2010 (can't remember the exact year).

I Remember that the MVCL is interruptible at end of a unit of
operation.

This may have changed since the z/13s.

Steve Thompson

On 10/31/2024 4:18 PM, Charles Mills wrote:
> @Kirk: +1
>
> @Shmuel: you know that an MVC loop is dramatically faster than MVCL?
>
> Surprising but true.
>
> CM
>
> On Wed, 30 Oct 2024 22:40:52 +0000, Seymour J Metz <sme...@gmu.edu> wrote:
>
>> I'm leaning towards SRST/MVCL.
>>
>> --
>> Shmuel (Seymour J.) Metz
>> http://mason.gmu.edu/~smetz3
>> עַם יִשְׂרָאֵל חַי
>> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
>>
>>
>>
>> ________________________________________
>> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
>> Kirk Wolf <k...@coztoolkit.com>
>> Sent: Wednesday, October 30, 2024 4:41 PM
>> To: IBM-MAIN@LISTSERV.UA.EDU
>> Subject: Re: Bounded string move?
>>
>> Caution: This email did not originate from George Mason’s mail system. Do 
>> not click links or open attachments unless you recognize the sender and know 
>> the content is safe.
>>
>>
>> It appears to me that your requirement matches the C function below. (?)
>> I would probably just use C/C++, but you can see what the IBM C/C++ 
>> optimizing compiler generated.   It seems unlikely to me that there is a 
>> significantly better way.   You might ask on mvs-asm370.
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to