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