CompuServe Thread

#various rexx stuff

2 messages in this thread
#36193From: Ken CooperAug 3, 1993 4:18 AM
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 */
#36196From: Bill HawesAug 3, 1993 7:35 AM
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