kdq@demott.COM (Kevin D. Quitt) (07/13/90)
I tested several disk caches, all but SMARTDRV are the versions currently available from SIMTEL. Rather than running a "cache test" program, I used an automated make of our machine control library act as the benchmark. The caches tested are: SMARTDRV (Bundled with Microsoft products) DCACHE DISCACHE EMMCACHE QC420 SHAREPCK (Shareware version of PCKwik) There are 30 include files in our include directory (68K), besides the 32 (130K) in Microsoft's. The sources are in two tertiary directories (e.g. w:\foo\bar\bas and w:\foo\bar\baz) where w: is a substituted secondary directory. The disk drive is 60MB(RLL, 28ms avg. seek) partitioned into drives C and D. The compiler, standard include files and standard libraries are on drive C, while the library includes, sources, and the library itself are on drive D. There are 11 sources files in one directory (106K total) and 3 sources files in the other (16K). The resulting object modules are 90K, and the library is 82K. The computer is a Twinhead 386/25 with 8MB of 0 wait RAM. 386MAX is used to create expanded RAM for the purposes of cache and other program usage. Conditions of the test: The disk drive was optimized to guarantee file contiguity. The system was configured (via config.sys) and rebooted. The default drive and directory were set, and the make was started using the following batch file: send %1 start at $t$_>>time.doc (record the time) call make send %1 ended at $t$_>>time.doc (record the time) search . /name *.obj /rm /s (remove the .obj files) Caches that didn't require starting from within config.sys were started by hand immediately previous to the execution of the benchmark. The cache size was specified as 2048K of expanded memory. (To those who say that dcache has 64K max cache, I say RTFM). QC420 would not accept (apparently) a 2048K cache, and insisted on using 1800K. "Buffers" in config.sys is set to 4. Results: QC420 was disqualified when I started getting "FAT corrupted" messages during the benchmark. Discache was disqualified because according to its documentation it cannot handle partitioned drives. Sharepck was disqualified because it occupies main RAM, leaving only 360K available. *None* of my major applications will run in that little RAM. Cache Time Invocation (none) 5:55.48 dcache 3:48.38 dcache /On /M2048 /E /H0 emmcache 3:37.73 emc110 128 128 smartdrv 2:43.02 device=c:\smartdrv.sys 2048 /a Notes: QC420 detected all SUBST'd drives as legitimate drives to be cached, as well as caching the floppy drives. It would not accept a command to use 2048K of cache, maxing out at 1800K. When I ^C'd to stop the benchmark and avoid disk damage, a soft reboot indicated that the timer was not working. A hard reset was required. Sharepck spent most of its time touting its commercial versions. I found this to be very annoying. All three caches were loaded into High DOS memory via 386LOAD, and functioned normally. All else being equal, I would prefer dcache over emmcache, because of its ease of use, and the fact that it can be turned off and removed from memory. The docs are well written. I have undoubtedly left off some critical piece of information. If it's of interest to you, please write to me. -- _ Kevin D. Quitt demott!kdq kdq@demott.com DeMott Electronics Co. 14707 Keswick St. Van Nuys, CA 91405-1266 VOICE (818) 988-4975 FAX (818) 997-1190 MODEM (818) 997-4496 PEP last 96.37% of all statistics are made up.