#various rexx stuff
2 messages in this thread
Here's a couple of questions…
For my Accounting program (main script is over 150k, written in Arexx &
using rexxarplib) I would like to monitor its stack usage using
"StackWatch". This program requires a Task Name in which to monitor. When
my program is running, its Task Name is "Arexx" (there are sometimes
several of these names running at once).
Is it possible for my program to report a unique Task Name?
—–
When my program first starts and proceeds to open a screen, windows, etc,
I have a couple of separate arexx programs that are called to start and
have them perform their operations (adding certain gadgets etc). This is
the current method I'm using to start this second program, while the first
is still in the process of being built:
"runwsh FileMRga.rexx PROCEEDpa"
I want this 2nd program to run by itself without stopping the main script.
Is this the correct method/syntax of doing this?
"FileMRga.rexx PROCEEDga"
This 3rd program is called as shown, with the main script stopping until
this program has finished its chores. Is there any advantage to having
"rx" added as in: "rx FileMRga.rexx PROCEEDga"?
I use 'execio' alot, so having Wshell installed, is a given.
—–
This timing test was done 4 times to get an average. Using v2.1 Type.CBM
and Type.ARP commands. Both were made resident.
To read all the *BILLS files in a directory and dump the RESULT to ram.
Using the Type.CBM command, this process took 4.62 seconds.
Using the Type.ARP command, this process took 1.88 seconds.
So using the ARP version of Type, is about 2.45 times faster. It also
correctly reads in the data in sorted order, whereas the CBM version does
not!
—–
This next timing test was to get the ram:RESULT file into a stem. The
RESULT file is 214039 bytes.
Using the format of:
'type.cbm ram:RESULT | execio stem lines.'
took 3.62 seconds
Using the format of:
'type.arp ram:RESULT | execio stem lines.'
took 1.04 seconds
Using the format of:
'execio read ram:RESULT stem lines.'
took 0.46 seconds
For reading in a single file, execio is pretty fast.
—–
So after upgrading to AmigaDOS v2.1 a couple of weeks ago, and thinking
that the newest commands would be optimized by now and after running these
tests, I was surprised to find that the ARP commands still winners.
I also did tests between Search.CBM & Search.ARP and the arp version also
wins the test. Since I need some sort of search and type commands in my
accounting program, ARP is still useful.
Question is when the ARP stuff becomes un-useable because of the changing
Amiga OS? Is ARP still being worked on?
Are there other tools that have similiar aspects to search & type, that
can handle wildcards, and are fast?
Too bad execio couldn't use wildcards…
—-
I've been using the rexxarplib for my various programs for the past 3-4
years. I have already run into a few situations where my needs exceed the
functions available. I guess the next stage would be to convert my code to
use the apig library functions – which appear even more flexible &
powerful. Are there people out there using this library?
I don't remember seeing many/any programs out there, written with apig!
v3.0 (April 25 1991) of rexxarplib
v3.1 (March 10 1992) APIG/ARexx Programmers Intuition & GraphicsLibrary
It appears rexxarplib was last released over 2 years ago. And apig was
just over a year ago.
—-
/* All for now */
Ken,
With ARexx you don't need to be concerned with stack usage, as you can run a
program of any size with just the default 4K stack used by the ARexx tasks. If
you need to get the task ID of a particular ARexx task (since they're all
called ARexx), you can use the pragma(id) function.
To run an external ARexx program asynchronously, it's better to use the ADDRESS
AREXX programname command than to issue a runwsh command. There's less
overhead with the ADDRESS AREXX approach — one less task to spawn. Of course,
if you need to run a DOS command async, runwsh is still the best bet.
The execio command was optimized for reading a file into a stem variable, so
it's substantially faster than the type command.
-Bill Hawes