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

[no subject]

I did some metering on fasloading LMIO;GRIND.
It takes about 16 seconds.
Calls to intern use up 5 seconds.
Starting and stopping use up 6 seconds
 (this includes checking the file plist).
All the rest of the computation uses about 5 seconds.
I didn't succeed in measuring time spent waiting for the net
but I could see from the who line that it was only a few percent.

The average time per call to intern was 31 msec.
An intern which does no swapping takes only 4msec,
leaving 27 msec of swapping for each of 160 interns,
which adds up to 4 seconds of swapping.  Chances are
that interns accounted for most of the swapping done.

Loading QFCTNS took a total of 39.5 seconds, of which
6.5 were starting and stopping, 13 went for 700 interns,
and the remaining 20 seconds were the rest of the work.
The smaller average time per intern is probably because this
file is several whacks and thus many interns are repeated
with the necessary pages already in core.  This suggests that
the duplicate interns caused by whacks aren't costing much.

This seems to indicate that there is no point in trying to
speed up intern except possibly by a rearrangement of the data structure.
Rewriting fasload and possibly changing the fasl file format
could gain a factor of two for QFCTNS; three perhaps for a larger file.
Reducing the number of times it is necessary to wait for a reply
while opening and closing a file could greatly speed up loading
a lot of small files.