(C) 1994 Stuart Cheshire <cheshire@cs.stanford.edu>
In System Software versions prior to 7.5, Apple had serious performance bugs in the disk caching code which meant that if you set the disk cache to more than the minimum size it could slow down disk writes to about 40k/sec, even though the hard disk should be capable of at least 25 times that speed. It would also freeze up your Mac for anything from a few seconds to a few minutes while it wrote out the whole disk cache at 40k/sec. Unfortunately the memory architecture of machines like the IIci mean that the CPU can run about 30% faster if you set the disk cache to 384K, putting the user in a "Catch 22" situation.
To work around this problem, many software authors made their progams set the 'don't cache' bit when writing data to disk in order to bypass the disk cache completely and get the megabyte per second or more that a hard disk is capable of.
This now has the unfortunate consequence that even though Apple has fixed the disk cache problems now, and may improve it more in the future, these programs are still bypassing the cache and losing the performance benefits that it should be able to give.
There are two solutions to this:
1. Use Gestalt to check the system version number, and only set the 'don't cache' bit if it is less than 7.5, but
2. even better is not to set the 'don't cache' bit at all, and to include my WriteThrough extension with your application. That way the user gets the benefit of better performance across all applications and system software that they use, and then when they upgrade to 7.5 they can throw out WriteThrough without having to get new versions of their applications.