Eric Auer writes:
Hi, forwarding a good hint from Uwe Sieber (UMBPCI guy):
http://www.holin.de/ has PC-Config analyzing tool 9.33 now as FREEWARE, in English and German versions. I think it is more useful and crashes less often than compinfo .
He suggested that I use it to measure my UMB speed: On my chipset, hardware UMBs are not cacheable. This explains why LBAcache becomes slow when loaded into an UMBPCI UMB. As a workaround, I load LBAcache into low RAM now (but left CDRcache in UMBs: sectors are bigger on CD-ROM, so the cache has to do less "list of cache contents"-processing for CD-ROM).
Some extra measurement results (did not measure cached int 13 speed, RAWREAD crashes due to the overflow / "infinite" speed, but it is roughly the same as the int 25/26 speed):
- 10.5 MB LBAcache with HIMEM64 and UDMA, cache and UDMA in UMB: 1.9/infinite int 13 speed (huge linear read, which gives 100% cache misses / 64k reads mit 100% cache hits), int 25 1.0 / 10.0 MB/s
- 10.5 MB LBAcache loaded LOW, HIMEM64, UDMA loaded high: 7.5-8.2 / 46.3-infinite MB/s
- 4.0 MB LBAcache loaded LOW, HIMEM64, UDMA loaded high: 10.5-11.5 / 79.0-infinite MB/s
- 4.0 MB LBAcache loaded HIGH, UDMA, DR DOS EMM386 for XMS and UMBs: 11.0-11.5 / 68.0-infinite MB/s
- 4.0 MB LBAcache loaded HIGH, HIMEM64, UDMA loaded high: 2.0 / 10.0-infinite MB/s
As you can see, using UMBPCI hardware UMBs on my "UMBs not cacheable"- VIA Apollo (M)VP3 chipset really hurts computation-intensive LBAcache, even when using a SMALLER cache. Using DR DOS EMM386 for UMBs or loading LBAcache LOW helps a lot. Making the cache SMALLER helps to make the cache considerably faster (maximum speed is reached if the cache is 1 MB small as far as I remember: At and below this size, an optimized search strategy can take full effect). I think the cache hit speed is even acceptable with cache loaded high into uncached hardware UMBs (10 MB/s). And if you care more for idle drives than for fast access, you will prefer using a huge LBAcache loaded high over loading a small LBAcache into low RAM.
My CPU is an AMD K6-2 500 MHz and UDMA loaded into hardware UMBs without using an extra cache (apart from the disk cache) reaches 18-21 MB/s linear (int 13 is only 18 MB unless aligned) and 18-26 MB/s "same 64k again and again" (harddisk has 0.5 MB builtin cache), in which case odd buffer address means lowest performance, normal buffer address means 19/24 MB/s int13/int25 and aligned (to multiple of 64k) buffer address gives 24-26 MB/s.