Benefits
This section describes the benefits provided by using the InitHacks package.
Additional initial VM
The Pilot transaction machinery uses a rather large amount of virtual memory (over 1000 pages) to restore pages that have been changed for aborted transactions. The ordinary Cedar user does not need to have so much space dedicated to this purpose. I typically run with 64 pages, for a net gain of 936 pages of VM, even though my Walnut files are entirely on my local disk.
This feature should be used with caution by people who have large data bases on their local disks.
Use of Rope files
Remote files that have been opened with openr are normally copied into your VM. So are remote files opened by the Source command. However, they need not be if they are Rope files (supported by the RopeFile package). If this feature is enabled, VM will disappear less rapidly, since less will be used for each remote source file. Unlike the openHuge command, this feature is safe, since it is only enabled for remote readonly source files.
If rope files are used, then version maps will also use rope files automatically, further decreasing the amount of large files copied into VM (by about 285 pages). Like the openHuge command, the user must be careful to not delete or modify the version map files (CedarSymbols.VersionMap, CedarSource.VersionMap, and any extra version maps).
Extra version maps
The standard version maps from the Cedar release have become somewhat outdated with the appearance of packages on PostCedar. Rather than provide complete version maps for PostCedar that include Cedar maps, I have chosen to try to make additional version maps a reality. InitHacks will look at your profile to determine which extra version maps to include. There are standard extra version maps for PostCedar, and they can be accessed remotely (in fact, I recommend it).
If you have systems for which you would like to have version maps made, come see me for directions.
Acquisition and use
This section describes how to acquire and use the InitHacks package.
Where to get InitHacks
To get the appropriate files to your loacl disk, just use the following command in the UserExec:
bringover /a /p [Indigo]<PostCedar>Top>InitHacks.df
How to run InitHacks
To automatically run InitHacks at startup, change the
PreRun line in your profile from:
PreRun: ...
to:
PreRun: RopeFileImpl.bcd InitHacks.bcd ...
After making these changes, boot the Client volume to get the changes to take place. Optionally, if you tend to use public machines, installation can be done by the UserExec command:
run RopeFileImpl; run InitHacks
Of course, with the second method, you must rerun the two files every time you RollBack.
User profile options
The following options are as I have them in my profile. The logSpaceSize option is sufficient to run Walnut without difficulty on the local disk. Alpine users may not even need as much space, provided that they do not have large databases on their local disks.
TransactionImpl.logSpaceSize: 32
the default is not to change the logSpaceSize
VersionMap.UseRopeFile:
TRUE
the default is to not use rope files for openr and Source commands
VersionMap.Source: [Indigo]<PostCedar>VersionMap>CedarSourceExtra.VersionMap!h
VersionMap.Symbols: [Indigo]<PostCedar>VersionMap>CedarSymbolsExtra.VersionMap!h
the default is to not use extra version maps