Disk Speed testing program for Windows 9x & Windows NT

By Chaipi Wijnbergen

This program create a temporary file on the root directory of the drive under test and then start writing data to it. The user can define a basic buffer size that would be written a few times to the disk and would create a file size, this process is done a few times to get a long average writing time.

ds1.gif (4676 bytes)

The program allow you to test sustained disk write  and read operation and what performance you can expect for large files.

You can experiment with different disk types that you install on your system (EIDE, Fast & Wide SCSI) and you can experiment with Operating System management of the disks, such as the influence of changing disk cache size or defining partitions under NT as a Stripe Set.

Also, if you develop your own software and need to read/write large blocks of data, you can experiment with data buffer size of the read/write operations, the default values are:

ds2.gif (3072 bytes)

In the top image, you can see a sample run of the default buffer size. You can see that read operation time exceed a practical disk read operation timing, so, this used the cache for most of the operation.

After changing parameters and running on other computers, you can see changes in performance:
Writing 256KB buffers into few types of disk drives all connected to PII 233MHz running Windows NT  4.0:

EIDE : 7.4 - 8.0 MB/Sec average write time
Ultra SCSI : 3.9 - 4.3 MB/Sec average write time
Ultra Fast & Wide SCSI in a 2 drive stripe set : ~ 15.8 MB/Sec

When I increase the buffer size to 512KB, cache start to be less effective and transfer time drops :

Ultra Fast & Wide SCSI in a 2 drive stripe set : ~ 6.4 MB/Sec

Using this program and that kind of information, one can gain allot by checking which disk drive are best to use. and what is the best way to write in regard to the buffer size. For example. If one need to write a large array of data into a file then instead of issuing one command to write many MB, it would be better to write a small loop that would write all that data in a few iterations and using smaller size buffers.

Download the program

You might also need these DLLs, please unzip the file and copy the DLLs into your system directory.

Download the source code for the program