Reviews of Myriade (APL*PLUS/PC) & AFM for APL2/PC
Vector 6:3, page 51
Transcribed from the printed issue; not yet reviewed. Read it in the PDF of the issue, page 51
Introduction¶
Here are two file systems from well-known 3rd-party suppliers, aimed at improving on the in-built file handling of two of today’s mainstream PC APL products. As far as possible, I will try to review them in parallel, although there are clearly some areas where the two packages cannot easily be compared.
The Suppliers¶
Myriade Data Systems is a French Canadian company, based in Quebec. They are a small, specialist supplier of APL software, with a good reputation for technical expertise. Their address is:
Myriade
3652 ch. St-Louis
Ste-Foy (Quebec)
CANADA G1W 1S9
AFM/PC is supplied by Interprocess Systems, of Atlanta, Georgia. They are a very well-established company in the mainframe APL marketplace, and again have a good reputation for technical excellence and software support. Their address is:
Interprocess Systems
9040 Roswell Road, Suite 690
Atlanta, Georgia 30350-1131
Objectives of the Packages¶
First Myriade. I suppose it has the harder task of the two, in that it sets out to improve upon an already established standard, in the APL*PLUS/PC component file system. If Myriade is to appeal to you, you must first have become dissatisfied in some way with the standard offering.
Some of the things Myriade does for you are:
- Indexed files. Of course we have all built little file systems which put the index on component-1, and use
∧.=in the workspace as our keying system. The emphasis should be on the word little; Myriade will handle keyed files of many Megabytes. - high performance. Emulating indexes in APL is expensive in CPU time. Myriade aims to provide fast access to big files with a flexible keying system that fits well with the APL philosophy.
- strong emphasis on data integrity, with good backup and recovery procedures.
- generally better housekeeping. The APL*PLUS/PC file system is notorious for failing to recover space in files; space allocations can mushroom out of control alarmingly fast. Myriade takes great care to avoid file fragmentation.
If you are an APL*PLUS/PC user who has at some point encountered these restrictions and performance problems, then Myriade may well be for you.
AFM/PC is very simple to describe: it is a PC implementation of the well-known mainframe product which runs alongside VS APL and APL2. It provides APL2/PC users with:
- standard component files, and keyed component files.
- a simple mapping of AFM user numbers to DOS pathnames.
- good space management and recovery within files.
AFM/PC supports all the sensible commands from the mainframe system, except FLOG and FSORT; the documentation is simply a copy of the standard AFM/AP User’s Reference Manual, with the addition of a 28-page PC User’s Guide. If you are an APL*PLUS/PC user, who would like to test the IBM water, or an existing mainframe APL2 site wishing to migrate to the PC, then AFM/PC may be for you.
Installation and System Requirements¶
Myriade comes on a single 5-inch 360K disk. It may be copied to your hard disk, and then started for the first time to initialize the ‘MFM Data Base’. You can specify the file size in multiples of 1Mbyte, and will then need to wait for around 1min per Mbyte while the database is initialized. A portion of MYRFM.EXE remains resident on completion.
When you start APL*PLUS/PC (version 7 or above) you must give a user number other than zero, otherwise you load APL as normal. Your ⎕WA in a clear workspace will be reduced by 119K, although if you have access to an expanded memory manager, 64K of this can be loaded high. The database is automatically closed down on )OFF, but MYRFM remains resident until you reboot.
You will also need to load the workspace of supporting functions MYRFM.AWS; this requires a further 7K. It consists almost entirely of one-liners, and simply covers ⎕CALL statements to the resident software. Since MYRFM manages the file space entirely on its own, you will need to use the supplied backup and recovery mechanisms, as all DOS sees is a single file which is likely to be much too big to fit on a single floppy disk!
AFM also comes on a single 360K disk, and can be copied to your hard disk as required. You must include AFM800 on the command line that starts APL2 (before AP120), and will probably need some of the functions from the supporting workspace. You should expect to lose 54K bytes of workspace.
Unlike Myriade, AFM creates normal DOS files (with a .AFM extension); obviously you should avoid naming other files in this way! Normal DOS backup and recovery applies.
Summary: both systems are painless to install, and performed correctly on the first time of asking. I suppose AFM was marginally the easier of the two, but both must score highly in this regard.
Features¶
Myriade is clearly more than just a fast component file system. Some of the extra features are:
- indexed files, using either character or integer keys. Character keys may be up to 121 bytes long. Components can be randomly created and updated.
- You can put up to 255 named APL variables per component. This allows easy modelling of relational systems, where each row of the table becomes a single file component, consisting of a set of variables (
NAME,AGE,SALARYetc.). - you can retrieve partial components (i.e. selected variables), optionally renaming the variables as they appear in the workspace.
- there is no effective limit on the number of components per file; files can grow up to 192Mbyte, spanning multiple DOS volumes as required. Space is recovered automatically,
⎕FDUPis a thing of the past!
AFM is a straightforward component file system, with the addition of keyed access files (the maximum key length is 30 characters). It is effectively a single-user version of the mainframe system, but without some of the peripheral and adminstrative aids that come with the mainframe software. It can be run over a LAN environment (in which case the use of access codes, file holds etc. would be required); unfortunately I have not been able to test out any of this, as I do not have a LAN to play with!
Performance¶
Basically, Myriade scores heavily over APL*PLUS/PC as files get bigger. For a decent size file (say 5000 components) it will add a new component in under 1 sec, rather than 8 sec when a 20-character key is used to address each component. Retrieval is in under 0.5 sec (vs 1 sec) and deletion in 0.5 sec (vs 2.5 sec). When updating an existing component with a larger data value, there is again a factor of around 3, but of course the APL*PLUS/PC file requires regular use of ⎕FDUP, otherwise it quickly fills up the hard disk! The essential difference is that MFM has a very flat performance curve, whereas the built-in file system is very dependent on file size.
All I can say about AFM is that it feels very comparable to the built-in file handling, via the library manager AP211. I don’t think it is sensible at this stage to try and set up any serious benchmarks, as I don’t really have anything to compare AFM against. If I get the time, I will code up some of my APL*PLUS/PC cover functions in AFM, and check out APL*PLUS/PC vs APL*PLUS II vs APL2/PC 32-bit. Watch this space.
Documentation¶
Myriade scores about 5 out of 10 here. Everything is there, but it is clearly a translation from a French original, and the style is odd in places. Also the quality of reproduction (of typescript rather than typeset material) is patchy. However it is complete, and with a little persistence, you can find what you need to know.
The AFM documentation is absolutely first class. I must admit to a slight bias here, because I have used and liked their mainframe system for several years, and have modelled much of my internal utility documentation on their style. In fact we used a page from the AFM Reference Manual as the model for the ASL manual at the Greg-y-Nog conference! You get a straight reprint of their mainframe reference manual, and a well typeset (A4) addendum describing specific features of the PC implementation.
Summary¶
These are both good products, and deserve to succeed in their respective markets. Myriade is to some extent a niche product, as it only shows its best form when dealing with really large files, and complex keyed access. I really don’t know whether it is sensible to think of APL when designing such systems; to some extent the availability of a high-performance file manager swings the equation more in APL’s favour. I suppose you also ought to worry about committing yourself to a 3rd party add-in, with no guarantee of support for future versions of APL*PLUS/PC, or of APL*PLUS II.
AFM provides a basic service for APL2/PC, just as it does for VS APL on the mainframe. If you are serious about developing APL systems on this PC product (remembering that you can package the resulting system at no extra charge) you should buy this product. Period (as they say in the States!).
Availability¶
AFM/PC works with DOS 3.1 or later, and with APL2/PC 1.0 (or later) in either 16-bit or 32-bit modes. It is priced at $175 with volume discounts available. For more details, contact Stella Chamberlain on (404) 992-8400, or write to Interprocess Systems.
Myriade requires DOS 3.0 or later (performance is claimed to be much better under DOS 4.0) and APL*PLUS/PC 7.0 or higher. MFM Version 1.0 for APL*PLUS/PC sells for 375 CAN$ from: Myriade, (418) 658-1275, Canada.