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