On Mon, 8 Sep 2014 18:52:03 +0200, Thomas Berg wrote:
>
>I have no problems with the stack (or rather: not more than with any other of 
>the language "constructs"). 
>Although I nearly always uses QUEUE/PULL/EXECIO with NEWSTACK/DELSTACK.  
>
>There is a theoretical performance enhancement with using the stack instead of 
>stem.
>With stack REXX need only one "parsing" of variable and don't need to setup a 
>stem.  
>This depends of course much on how smart the REXX interpreter or compiler is.  
> 
> 
Does the stem setup cost affect every reference to a compound symbol,
or only the first?

CMS EXECIO provides an "EXECIO ... (VAR" as well as stem.  I wonder why
z/OS lacks the former.  CMS also provides "EXECIO ... (STRING", but I
suspect z/OS balked at the parsing considerations.

There's good empirical evidence for the reasonable assumption that writing
multiple records in a single EXECIO performs better than record-by-record.
But John's objective was not performance but didactic transparency.

And that stack performs better than stem, but that doesn't move me to use
the stack when it's avoidable, nor to avoid subroutines when they are
clearer than straight-line code that might be more efficient.

And if one chooses multiple-record EXECIO, one must beware of REGION
constraints, which are fatal, and of paging, which can vitiate any advantage
of blocking EXECIO.

I shirk "EXECIO 0 ddname (FINIS" and "FREE ddname" when I can rely
on termination code to perform the operation and DDNAME or DCB
exhaustion is not a concern.  If the data set was allocated in JCL, then
JCL can flush it and free it.

-- gil

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

Reply via email to