As for notable performance; we had a low memory, dual CP, water cooled, heavily 
overcommitted processor. My first major program covered IBM CSP v3.2 to v3.3, 
and converted DB2 View names w/shortened column names (7 characters or less, as 
v3.2 supported up to 8 character variables). This ran for 5.75 hours over our 
code base; ~5.25 with these and a few other optimizations (e.g. putting an 
entire DO loops on 1 line where possible).

Since then IBM has made numerous REXX performance improvements and supports 
more memory, more efficiently. This means these optimizations are much less 
relevant. But, if your code is heavily used, it is still worth it. Also, I 
think it is more readable. 

Sent via Al Ferguson’s iPad

> On Nov 23, 2020, at 21:56, Al Ferguson <afergu...@neptunescove.org> wrote:
> 
> They are not necessary, but you can use a variable after the ADDRESS.  I 
> have written a few REXX programs where I used:
>    ADDRESS CMD
> 
> Where I set CMD = “environ actual-command”. 
> 
> Any non-quoted word will:
>    1.    Be folded up to all caps, if not already
>    2.    Determine if it is a “REXX reserved word”
>        (environments are not reserved words)
>    3.    If not, it is a variable and is resolved 
>        (non-initialized variables resolve to the variable name folded to all 
> caps)
>    4.    The resolved string is then passed to the REXX Interpreter
>    5.    Then executed (or if not executable, an error raised) 
> 
> Quoted strings are passed, as is, to the Interpreter; skipping the first 3 
> steps.
> 
> Sent via Al Ferguson’s iPad
> 
>>> On Nov 23, 2020, at 20:50, Jeremy Nicoll <jn.ls.mfrm...@letterboxes.org> 
>>> wrote:
>>> 
>>> On Tue, 24 Nov 2020, at 02:20, Al Ferguson wrote:
>>> Performance reasons. Without the quotes REXX first interprets MVS as a 
>>> variable name
>> 
>> Are you sure?
>> 
>> I thought that environment (after address) was one of the few places in 
>> REXX where quotes were unnecessary because what's typed there is 
>> regarded as a constant.
>> 
>> And, that if you actually wanted a variable's value to be used, you'd have
>> to code
>> 
>> address value varname
>> 
>> 
>>> Back in the MVS & MVS/XA Days, these types of performance optimizations 
>>> were actually quite noticeable.
>> 
>> Even if what you said above was true, I doubt very much that capitalising
>> the environment name would ever have make a measurable difference,
>> bearing in mind how few times one would typically specify an address 
>> statement in a typical exec.
>> 
>> 
>>> I similarly “always” capitalize REXX Key words, to save REXX from 
>>> having to spend cycles actually FOLDING then up.
>> 
>> It's been years since I wrote any REXX on a mainframe, but I know I didn't
>> uppercase my code back then ... and a quick look at current manuals shows
>> sample code is sometimes in uppercase, and sometimes mixed case.
>> 
>> Is this idea that uppercase REXX is more efficient something that everyone 
>> here accepts?
>> 
>> -- 
>> Jeremy Nicoll - my opinions are my own.
>> 
>> ----------------------------------------------------------------------
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>> 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to