SmartVersion

What is SmartVersion?
Download SmartVersion?
Order SmartVersion?
 

WinImage

What is WinImage?
Download WinImage
Frequently asked question
Order WinImage
WinImage online documentation
WinImage Self-extractor
WinImage SDK
WinImage beta
 

Free Software

BootPart
Extract
ReadFile
Asbench
Other tools
 

Miscellaneous

Links
Personal Information

ReadFile 1.30: Read File for testing speed of file transfer

This small freeware utility allows you to test the speed of memory copy and disk transfer operations under Windows 95 and Windows NT. This is a Win32 console application. C Source included.

You may download readfile here:

readfi13.zip (18 607 bytes)

Usage :

READFILE test memory copy speed
READFILE filespec test file reading (bypass cache)
READFILE filespec /d test file reading + memory copy
READFILE filespec /c test file reading + CRC32 computation
READFILE filespec /s test file reading + recursive directory parsing
READFILE filespec /l test file reading + listing output
READFILE filespec /b enable file system buffering
READFILE filespec /m use file mapped IO (incompatible with /t & /o)
READFILE filespec /a calculate Adler code
READFILE filespec /t use small buffer (64 KB instead 1 MB)
READFILE filespec /r perform slow CRC-32 computations
READFILE filespec /o use overlapped I/O
READFILE filespec /h use multi-threading


READFILE without parameters tests the speed of copying big blocks of memory (1 MB)

READFILE with filename parameters tests the speed of reading files. For example :

C:\> READFILE.EXE *.ima

ReadFile 1.30 - http://www.winimage.com/readfile.htm

File= 3860 Kb/Sec with 1474560 bytes : Distwi25.ima

File= 4084 Kb/Sec with 1474560 bytes : DISTWI22.IMA

Average = 3850 Kb/Sec with 2949120 bytes (total : 765 msec)

The files are opened with the FILE_FLAG_NO_BUFFERING parameter, so the operating system will not cache file reads.

I suggest that you test it on big (more than 1 MB), unfragmented files for finding the real transfer speed of your hard disk (or network unit) during sequential reads.

Under Windows NT, it's VERY useful to start the performance monitor tool before using READFILE:

- Start PERFMON.EXE

- Add CPU in the chart

With Windows 95, you can use the WinTop Kernel Toy, downloadable from this URL: http://www.microsoft.com/windows/software/krnltoy.htm

With a modern SCSI BusMaster interface (for example, Adaptec 2940), you'll get very small CPU usage while reading (10 % of CPU for 4 MB/Sec), whereas with a normal IDE Interface, you'll have 100 % of CPU used by the disk operation!

The latest Pentium motherboard with the Intel triton chipset, a BusMaster IDE driver, will also give you reduced CPU usage. The latest Bus Master IDE Triton drivers can be found at: http://www.bmdrivers.com. For Windows 4.0, see information about DmaCheck.

Microsoft site contain a information about DmaCheck (KB article Q191774 with DmaCheck information, link to download DmaCheck). For hard disk greather than 8 GB, see also article Q183654 and Q197667. If you have not installer the Service Pack 4 (or greather) of Windows NT4, get updated Atapi.sys (with both large disk and Dma support with DmaCheck) on the atapi.exe link on Microsoft site.
But on somes computers, the DmaCheck cannot enable BusMaster DMA. If your moterboard contain Intel chipset, you can try the Intel BusMaster driver 2.05 for Windows NT4 (nt205_00.exe). The benchest.com site contain a Windows NT 4 benchmark with and without busmaster enabled.


On Windows 2000 and Windows XP, you need only check the DMA parameter in the Device Manager. (Device Manager -> IDE ATA/ATAPI controllers -> Primary and Secondary Ide Channel -> Properties -> Advanced settings).
Note: Win95 OEMSR2 (the OEM only version of Windows 95 built in August 1996) and Win 98 already contain a BusMaster IDE driver.

Another usage of ReadFile is to produce a file with a list of CRC codes (can be useful for checking data integrity). You can go to your desired directory and enter :
READFILE *.* /c /s /l > LISTCRC.TXT to produce the file with CRC codes

Multi-threading (under Win95 and WinNT) and Overlapped I/O (under WinNT) use the advanced Win32 API for computing CRC (and/or Adler) values and reading the disk at the same time. This is useful with a good SCSI adapter or a BusMaster IDE.

The slow CRC computation option, from /r2 (slow) to /r9 (very very slow) may be useful. /r means /r3.

If you are interrested in benchmarking, also try AsBench.

Copyright Gilles Vollant Software, 1999