Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: Rexx from Clist [SEC=UNCLASSIFIED]

11 views
Skip to first unread message

richard rozentals

unread,
Apr 2, 2012, 5:56:34 PM4/2/12
to
If you want to good reasons to use the stack I have one. When you put stuff in the stack it does not use your region. The stack appears to use the system SPOOL space. I found this out when I had a huge file (over 1,000 cyls) and had to read the entire thing in.

Richard Rozentals

--- On Mon, 4/2/12, Bob Bridges <rhb...@ATTGLOBAL.NET> wrote:

From: Bob Bridges <rhb...@ATTGLOBAL.NET>
Subject: Re: [TSO-REXX] Rexx from Clist [SEC=UNCLASSIFIED]
To: TSO-...@VM.MARIST.EDU
Received: Monday, April 2, 2012, 4:02 PM

I love the stack and for many purposes prefer it to stem variables, but I do
understand why so many people avoid it.

But I've heard so much stack-bashing recently, with very few piping up in
its defense, that I'm moved to speak up for it just now.  Don't get me
wrong, I love stem variables too.  But for almost any SEQUENTIAL purpose I
prefer to use the stack, even if it means a little extra work with NEWSTACK
and DELSTACK, checking my logic a little more carefully to be sure of what
stack level I'm in, pushing data on top to keep from messing up the order
etc.

I'm not sure why.  I'm afraid part of the reason may be that I like new
techniques, and numerically subscripted arrays are old.  That would be a bad
reason, if that's all it is.  But I also suspect that a pushdown stack is a
lot faster AND slightly easier on storage capacity.  Anyone care to confirm
or refute that?  It makes sense, but I've never gotten around to testing
either hypothesis.

---
Bob Bridges, rhb...@attglobal.net, cell 336 382-7313

/* No single raindrop considers itself responsible for the flood. */

-----Original Message-----
From: Fenner, Jim
Sent: Sunday, April 1, 2012 19:34

    If your procedure abends and leaves something queued up, and the
TSO command processor starts to execute the commands, this message will
be seen

A command entered OR contained in a CLIST has invalid syntax

Maybe you are using the stack in your new REXXes as a byproduct of using
EXECIO or even explicitly with QUEUE,PUSH,PULL, and so on If so, the style
is to bracket your STACK processing with address tso 'NEWSTACK' in front,
and address tso 'DELSTACK' at the end, PLUS to be careful to drain the stack
if you make an error exit

Personally, I bracket with NEWSTACK and DELSTACK and do my IO into
stems, which are a great little data structure, and keep stuff off the
stack except I'll queue the stem JUST before an EXECIO write

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX

----------------------------------------------------------------------
For TSO-REXX subscribe / signoff / archive access instructions,
send email to LIST...@VM.MARIST.EDU with the message: INFO TSO-REXX

Ted MacNEIL

unread,
Apr 2, 2012, 8:33:39 PM4/2/12
to
Document that please.
I've blown region on both stack and stem.
Why would it use SPOOL space?

-
Ted MacNEIL
eama...@yahoo.ca
Twitter: @TedMacNEIL

Paul Gilmartin

unread,
Apr 3, 2012, 2:20:39 AM4/3/12
to
On Apr 2, 2012, at 15:56, richard rozentals wrote:

> If you want to good reasons to use the stack I have one. When you put stuff in the stack it does not use your region. The stack appears to use the system SPOOL space. I found this out when I had a huge file (over 1,000 cyls) and had to read the entire thing in.
>
Still, I wonder, why not just process the file sequentially
rather than first copying it to the stack?

The EXEC below seems to show that both stack and stem use
storage above the Line and below the Bar. That's slightly
less than 2GiB; more than enough to hold 1,000 cyls.

/* -------------------------------------------------------*/
/* Rexx */ signal on novalue; /*
Doc: compare storage usage of stack versus stem.
uses REXXSTOR from http://www.mzelden.com/mvsutil.html
or http://www.cbttape.org/ftp/cbt/CBT434.zip
*/
trace R

call REXXSTOR
if 1 then call TryStack
else call TryStem
call REXXSTOR

return( 0 )

TryStack: procedure
'NEWSTACK'
do I = 1 to 4000
trace N
queue right( I, 10 ) right( I, 3989 ); end
call REXXSTOR
'DELSTACK'
return( 0 )

TryStem: procedure
do I = 1 to 4000
trace N
S.I = right( I, 10 ) right( I, 3989 ); end
call REXXSTOR
drop S.
return( 0 )
/* -------------------------------------------------------*/

-- gil

Bob Bridges

unread,
Apr 3, 2012, 4:02:47 PM4/3/12
to
Oops - let's resend that, this time to the listserv.

---
Bob Bridges, rhb...@attglobal.net, cell 336 382-7313

/* No single raindrop considers itself responsible for the flood. */

-----Original Message-----
From: Bob Bridges [mailto:rhb...@attglobal.net]
Sent: Tuesday, April 3, 2012 00:08
To: 'eama...@yahoo.ca'

Yeah, I wouldn't have guessed that either. I can read pretty large files
onto the stack, but nothing like that size. In fact, there's a file I'm
working with right now that I can't fit onto the stack; I have to read it in
one record at a time, just as though I were back in COBOL, alas. I've never
looked very closely at the error I get, but if anyone's interested I can
trigger the error and quote it here.

-----Original Message-----
From: Ted MacNEIL
Sent: Monday, April 2, 2012 20:33

Document that please.
I've blown region on both stack and stem.
Why would it use SPOOL space?

-----Original Message-----
From: richard rozentals <r_roz...@YAHOO.COM>
Date: Mon, 2 Apr 2012 14:56:02

If you want to good reasons to use the stack I have one. When you put stuff
in the stack it does not use your region. The stack appears to use the
system SPOOL space. I found this out when I had a huge file (over 1,000
cyls) and had to read the entire thing in.

--- On Mon, 4/2/12, Bob Bridges <rhb...@ATTGLOBAL.NET> wrote:
I love the stack and for many purposes prefer it to stem variables, but I do
understand why so many people avoid it.

But I've heard so much stack-bashing recently, with very few piping up in
its defense, that I'm moved to speak up for it just now. Don't get me
wrong, I love stem variables too. But for almost any SEQUENTIAL purpose I
prefer to use the stack, even if it means a little extra work with NEWSTACK
and DELSTACK, checking my logic a little more carefully to be sure of what
stack level I'm in, pushing data on top to keep from messing up the order
etc.

I'm not sure why. I'm afraid part of the reason may be that I like new
techniques, and numerically subscripted arrays are old. That would be a bad
reason, if that's all it is. But I also suspect that a pushdown stack is a
lot faster AND slightly easier on storage capacity. Anyone care to confirm
or refute that? It makes sense, but I've never gotten around to testing
either hypothesis.

0 new messages