perm filename REENT.TXT[NEW,AIL] blob sn#408313
filedate 1979-01-08 generic text, type T, neo UTF8
I have been playing around with SAIL and shareable segments
since our conversation yesterday.
1. I found that the shareable runtimes that are on SYS are
bad. Please move
2. The non-reentrant compiler which is currently on SYS:
is (after initialization but before start
of a compilation) 81 pages ( all lower segment).
3. A compiler whose bulk is non-reentrant but which
shares the runtimes with SAIL compiled programs
is after initialization 99 pages (72 lower segment
and 27 pages shareable upper segment).
The total is much bigger than that in (2) because
of the large number of runtime routines in the shared
segment which the compiler does not use.
4. A reentrant compiler
with a segment which can be shared with other compilations
but not with runtimes is a total of 88 pages
(32 lower segment and 56 shareable upper segment).
Based on the above, it is my opinion that alternative
3 is probably not worth it. Its
effective shareing is only 9 pages with an overhead of
having 18 pages which are never used when only a single
compilation is being performed.
Alternative (4) is probably worth using.
Its payoff comes almost immediately.
If you wish to make this the standard then
copy the files:
SAILRE.LOW[102,160] and SAILRE.SHR[102,160]
to SYS: as files named:
SAIL.LOW and SAIL.SHR respectively.
I have not ever used reentrant SAIL compiler before. It is
likely to be less stable than the non-reentrant form. Therefore
if you decide to make it the default, be sure to save the
old SYS:SAIL.SAV so you can roll back if necessary. I will
be back from my vacation about May 30.
To use the shareable runtime routines a user should load
SYS:SAILOW as his first file. Thus to load the sail file
FOO.REL (formed by compiling FOO.SAI) he should type:
If he wants to use COMPIL then he should create a
command file say FOO.CMD
Then he can execute:
and get most of the benefits of COMPIL.