This document describes the file transfer tests DOSSPEED and WINSPEED provided on DISK1.  These programs measure the rate that data can be read from the CD-ROM, with DOSSPEED measuring this transfer rate in the DOS environment and WINSPEED in the Windows environment. 

The Need for Speed Tests

One thing that distinguishes CD-ROM media from other media is the nature in which the data is provided, that is, it can be viewed as a "data stream."  The fact that an application can depend upon the data coming off the disc at a guaranteed rate of 150Kb/second provides unique advantages.  Unfortunately there are various problems, which in practice can limit throughput, creating the situation that while the transfer rate on any one drive is fairly constant, it is often less 150Kb/second, sometimes much less.  If an application prepares a data stream to be played off the disc it must be able to make certain assumptions about the rate at which the data stream will be provided.  If the designers of the application decide to support a drive which cannot maintain 150Kb/second, then they have to make a decision about what minimum transfer rate to support, and to do this they need information about  sustainable transfer rates.  Therefore the sustainable transfer rate available on your drive is important information which should be determined and provided to your customers.

Description of DOS Speed Test

Usage information (This is also available by typing "DOSSPEED -?"):

DOSSPEED [pathname] [-r:X] [-b:X] [-p:X] [-f] [-t]

where:

[pathname]		Path and name of file to test.

-r		Sets the transfer rate in bytes/sec (150Kb/sec default).

-b:[blocksize]	Sets the blocksize (bytes per read request), which must be from 1 to 65534 (16Kb default).

-p		Specifies the number of bytes used to prime the buffer. The number of bytes range  from 1 to 65534 with a default of 0.  This parameter allows a read-ahead buffer to fill up before the transfer rate timing actually begins. This is useful when testing transfer rates approaching the maximum rate available for CD-ROM drives.

-f		Performs a straight speed test with no delays, that is, it doesn't calculate how much time was spent blocked in the synchronous read requests.

-t		Causes terse output in the following format (useful for input to a spreadsheet):

<file><xfer rate><blocksize><primer><bytes read><real xferrate><% time blocked>

DOSSPEED.EXE determines several characteristics of a CD-ROM drive.  The command line options give three degrees of freedom.  Some suggested performance curves are:

	Transfer rate as a function of blocksize

	Transfer rate as a function of primer bytes

	CPU usage (% time blocked) as a function of blocksize

	CPU usage (% time blocked) as a function of expected transfer rate

	CPU usage (% time blocked) as a function of both blocksize and expected transfer rate

It is important to consider the best use of a CD-ROM drive.  Applications require sustainable transfer rates with suitable CPU bandwith available to complete various tasks between contiguous read requests.  By considering the CPU usage as a function of both blocksize and expected transfer rates, a buffering solution may be determined.  Always select a relatively large file for conducting DOSSPEED tests in order to reduce the small degree of error in the timing loop.

Description of Windows Speed Test

This speed test operates as a Windows application.  The Windows speed test pops up a window with a standard Files/Directories I/O dialog.  The tester selects a file on the CD-ROM disc and, like the DOS test, it keeps track of how much time elapses in reading the entire file, reports the average transfer rate, how many total bytes were read, and how many bytes were read by each request.  Unlike the DOS based test, this test doesn't analyze CPU bandwidth available between read requests.

To run this test select Run from the File menu, and execute the command: <drivename:\pathname\>WINSPEED.EXE.