[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Swapping

It occurs to me that every function definition ought to follow
in core the symbol that it defines.  The main use of symbols during
execution is for calling them as functions.  This makes that operation
require only 1 page instead of 2, while not interfering with anything else.
It ought to be easy for the garbage collector to make this happen.

Interning could be sped up by making the obarray point directly
to the strings as well as to the symbols (since then there is
no need to swap in the symbols).  If the readmacro symbol
feature is flushed, as it ought to be anyway because it makes
things very painful when a property list is clobbered, then there
will be no need at all to swap in symbols while reading, or
not to mention the plists which must now be swapped in.

If the strings in the obarray are themselves stored consecutively
in the same order that they are in in the obarray, that ought to
speed up tremendously all the obarray scanning operations.  Again,
the garbage collector ought to be able to do this easily.

Perhaps something as simple as making INTERN of a string copy
the string into P-N-STRING would improve swapping behavior now.

Please tell me your opinions.