Please enable JavaScript to view this site.

A-Shell Reference

MMAPLIST=<fspec>

(Unix only) MMAPLIST allows you to specify a list of files that should automatically be memory-mapped whenever they are opened. <fspec> should be a fully qualified filespec, although it may contain environment variables using the %ENVVAR% syntax. The specified file should contain a list of DevPPN-style or native filespecs, one per line, for the files you want to automatically memory-map. Blank lines are ignored, and anything after a number is treated as a comment. Ersatz devices are allowed. For example:

#List of files to be memory mapped

c:\vm\miame\dsk0\100005\myfile.dat # native allowed

MYAPP:MYDATA.DAT    # ersatz allowed

DSK0:MYIDX.DAT[100,5]  # standard DevPPN allowed

 

The above list specifies three files to be memory mapped whenever they are opened. Note that DevPPN specifications are recommended over native ones since they are not sensitive to changes in the device definitions. In the example above, the device where MYAPP: is could be redefined without having to change the MYAPP: reference in this file. But if c:\vm\miame was relocated to d:\vm\miame, you would have to remember to also edit this file to fix the native filespec.

Memory mapping gives you much better file i/o throughput, at the cost of more memory usage. It works best on files that have a lot of access relative to their size (SERCH index files are a particularly good example.) There are other ways to memory map files, such as using the subroutine ASFLAG or by loading the files directly into memory and using OPTIONS=AUTO_MEMOPEN in miame.ini. This method has the advantage of being entirely independent of your application, allowing you to tune your system or just experiment with memory mapping, without making any changes to the application itself.