Out of curiosity, I ran this as interpreted  REXX and then as compiled
REXX.
The REXX compiler does not like SYSVAR so I just ran them both as batch
jobs  and looked at the IEF032I message in JES SYSTEM MESSAGES:

Interpreted (Non-compiled )
IEF032I STEP/STEP010 /STOP
2018255.1024
        CPU:     0 HR  00 MIN  *13.10 *SEC    SRB:     0 HR  00 MIN  00.00
SEC

Compiled

IEF032I STEP/GO      /STOP
2018255.1023
        CPU:     0 HR  00 MIN  *00.25* SEC    SRB:     0 HR  00 MIN  00.00
SEC


Very dramatic improvement - approx 50 times faster.


This was on a zPDT

The code I used:

/* REXX */
I = 0
DO 9999999
   I = I + 1
END
EXIT 0





On Wed, 12 Sep 2018 at 06:55, David Crayford <[email protected]> wrote:

> We're running a 2965-N10 and your snippet took a gargantuan 19.33 CPU
> seconds on our machine. I was curious as to what it was doing to take up
> so much time so I profiled it.
> Astonishingly, it's spending most of the time moving data! The REXX
> implementation on z/OS predates modern scripting language design which
> generally compile to bytecode for processing in a VM.
>
>   Address    Module   AM S/P AS ASID   Percent of CPU Time * 10.00% ±1.7%
> *....1....2....3....4....5....6....7....8....9....*
>   0D5ABC50 - IRXINIT  31  P8          21.73 OOOOOOOOOOO
>
>   > IXXRCN+0C4C       46F0 CC1C        BCT R15,3100(,R12)
>   > IXXRCN+0C50       D200 F000 3000   MVC 0(1,R15),0(R3)
>
>   0D5ABC56 - IRXINIT  31  P8          21.22 OOOOOOOOOOO
>
>   > IXXRCN+0C50       D200 F000 3000   MVC 0(1,R15),0(R3)
>   > IXXRCN+0C56       1B3B             SR R3,R11
>   > IXXRCN+0C58       1BFB             SR R15,R11
>   > IXXRCN+0C5A       1932             CR R3,R2
>    Alternate Disassembly
>   > IXXRCN+0C54       3000             LPER R0,R0
>   > IXXRCN+0C56       1B3B             SR R3,R11
>   > IXXRCN+0C58       1BFB             SR R15,R11
>   > IXXRCN+0C5A       1932             CR R3,R2
>
>   0D5B1D46 - IRXINIT  31  P8           4.92 OO
>
>   > IXXRIN+0432       1853             LR R5,R3
>   > IXXRIN+0434       0E24             MVCL R2,R4
>   > IXXRIN+0436       0620             BCTR R2,R0
>   > IXXRIN+0438       952A 2000        CLI 0(R2),42
>
> On 12/09/2018 9:53 AM, Jackson, Rob wrote:
> > Hah, indeed it did.  I was surprised too.  I added in the redundant
> count in the first place simply because I assumed a simple loop might not
> cause even a hundredth of a second CPU usage.  I was astonished, even
> knowing REXX is inherently a pig, albeit a generally pretty pig (yeah,
> yeah, Python is pretty too).
> >
> > We are on a baby machine, a 2965-Txx, so that accounts for some of it,
> but still, yes, REXX is indeed expensive.
> >
> > First Tennessee Bank
> > Mainframe Technical Support
> >
> > -----Original Message-----
> > From: IBM Mainframe Discussion List <[email protected]> On
> Behalf Of David Crayford
> > Sent: Tuesday, September 11, 2018 9:44 PM
> > To: [email protected]
> > Subject: Re: Co-posted: Rexx performance measures
> >
> > [External Email]
> >
> > Crikey! Did it really take REXX a whopping 7.7 CPU seconds to count to
> ten million?
> >
> >
> > On 12/09/2018 3:52 AM, Jackson, Rob wrote:
> >> Works for me just fine.  Looping ten million times and incrementing a
> counter by one resulted in this:
> >>
> >> Bgn CPU:      68.66
> >> Bgn SRV:  2447864
> >> End CPU:      76.36
> >> End SRV:  2721588
> >>
> >> First Tennessee Bank
> >> Mainframe Technical Support
> >>
> >>
> >> -----Original Message-----
> >> From: IBM Mainframe Discussion List <[email protected]> On
> >> Behalf Of ITschak Mugzach
> >> Sent: Tuesday, September 11, 2018 3:36 PM
> >> To: [email protected]
> >> Subject: Co-posted: Rexx performance measures
> >>
> >> [External Email]
> >>
> >> I am trying to measure Rexx exec performance metrics. Elapse is easy
> >> Time('R') at start exec resets the counter and the second one reports
> the value. But how to measure CPU or service units?  I tried SYSVAR('CPU')
> at beginning of exec and at end, thinking to do the calculation myself, but
> both returns the same value ... same behevior with SYSVAR('SYSSRV').
> >>
> >> I am a good developer, but i am not fooling my self I am SO good. what
> is the trick to return the service units consumed by the exec?
> >>
> >> ITschak
> >>
> >> --
> >> ITschak Mugzach
> >> *|** IronSphere Platform* *|* *Information Security Contiguous
> >> Monitoring for Legacy **|  *
> >>
> >> ----------------------------------------------------------------------
> >> For IBM-MAIN subscribe / signoff / archive access instructions, send
> >> email to [email protected] with the message: INFO IBM-MAIN
> >> FIRST TENNESSEE
> >>
> >> Confidentiality notice:
> >> This e-mail message, including any attachments, may contain legally
> privileged and/or confidential information. If you are not the intended
> recipient(s), or the employee or agent responsible for delivery of this
> message to the intended recipient(s), you are hereby notified that any
> dissemination, distribution, or copying of this e-mail message is strictly
> prohibited. If you have received this message in error, please immediately
> notify the sender and delete this e-mail message from your computer.
> >>
> >>
> >> ----------------------------------------------------------------------
> >> For IBM-MAIN subscribe / signoff / archive access instructions, send
> >> email to [email protected] with the message: INFO IBM-MAIN
> > ----------------------------------------------------------------------
> > For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to [email protected] with the message: INFO IBM-MAIN
> >
> > ----------------------------------------------------------------------
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to [email protected] with the message: INFO IBM-MAIN
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>


-- 
Mike Shorkend
[email protected]
www.shorkend.com
Tel: +972524208743
Fax: +97239772196

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to