Hi Arnould,

>I would like to understand exactly why they are a problem.

1. It *is* possible to efficiently read a complete file into memory for the
first time *in one go*, with the "load" call. Because, on my request, Tony
Tebby kindly disabled the (previously existing) slaving for this call (but
unfortunately, only for this call.)

2. It is *not* possible to efficiently read a file by random (or even
sequential) access in smaller portions for the *first* time, if your SMSQ/E
machine has a lot of physical RAM. Because the slaving algorithm tries to
cache the file to RAM while reading, and that becomes *slower*, the more
memory it finds. On a 32 MB machine, it is *painfully* slow. It is the
consequence of a (for lots of RAM) very poor algorithm.

As you can imagine, for long video or audio files, you can not just read
the whole file into RAM in one go - so you can't have reasonable multimedia
applications.

3. It *is* possible to efficiently read a file by random (or sequential)
access in smaller portions for the *second* time, even if you have lots of
RAM. Because the slaving algorithm now reads the contents from RAM, not
from disk (which was the use of slaving on early machines). On a Q40/Q60
this help is not needed anymore. But at least, the second read is not
slowed down anymore, because the slaving algorithm works more efficient if
used in this direction.

-

The best solution would be if TT disables slaving completely, or at least
limits it - to use, lets say a maximum of a few hundred kB.

The only other help is to deliberately waste RAM by a "dummy" application,
so SMSQ/E can't use it anymore. I always do that before I load the Linux
kernel for example.

QDOS Classic doesn't have this problem. It's purely a SMSQ/E pain.

Has this helped?

All the best

Peter


Reply via email to