Readfile can be used show the speed of checksum computation using different method.

http://www.winimage.com/misc/readfile_test.htm

to use file mapped IO (so when file is in disk cache, we will take only time for computation), use this syntax:
Readfile <FILENAME> b m z <checksum method>

where FILENAME is the path of a file
<checksum method> is one or several of :
a : compute Adler32 code (using adler32.cpp from zLib)
g : compute MD5 code using MD5 source from L. Peter Deutsch
        see http://sourceforge.net/project/showfiles.php?group_id=42360
go : compute MD5 code using MD5 source from OpenSSL 0.9.7
c e# : compute CRC32 using one of the source code, where # is :
    1 : CRC32 code from zLib 1.14
    3 : new optimized CRC32 code from zLib 1.21 (see http://www.gzip.org/zlib/)


so by example :
readfile c:\download\mozilla-source-1.3.tar.gz b m z c e3
  will test the file c:\download\mozilla-source-1.3.tar.gz using zLib 1.21 CRC32.

of course, always ignore the first test, which load the file in system cache

I provide executable from both Visual Studio 2003 and Visual Studio 2005 - Community Technology Preview May 2004


amd64Release/Readfvs8.exe : AMDx64 Win64 executable from Visual Studio 2005 may edition
ia64Release/Readfvs8.exe : Itanium (untested) Win64 executable from Visual Studio 2005 may edition
x86-32Release/Readfvs8.exe : 386 and more, Win32 executable from Visual Studio 2005 may edition
x8632_vs2003_Release/READFVC71.exe : 386 and more, Win32 executable from Visual Studio 2003
x8632_vs2003_ReleaseCrtDll/READFVC71.exe : 386 and more, Win32 executable from Visual Studio 2003, using CRTDLL.LIB (very small executable, which run on all Win32 plaform)

Somes benchmark result under Windows XP

On pentium 3-850 Mhz
speed for adler : 144 MBytes/sec, with both VS2003 and VS2005 executable
speed for crc32 "c e1" (zlib 1.14 code): 76 MBytes/sec, with both VS2003 and VS2005 executable
speed for crc32 "c e3" (zlib 1.21 code) : 109 MBytes/sec, with both VS2003 and VS2005 executable
speed for md5-Deutsch : 52 MBytes/sec with VS2003 executable
speed for md5-Deutsch : 61 MBytes/sec with VS2005 executable
speed for md5 from openssl : 57 MBytes/sec with VS2003 executable
speed for md5 from openssl : 74 MBytes/sec with VS2005 executable


On pentium 3-1000 Mhz
speed for adler : 146 MBytes/sec, with both VS2003 and VS2005 executable
speed for crc32 "c e1" (zlib 1.14 code): 83 MBytes/sec, with both VS2003 and VS2005 executable
speed for crc32 "c e3" (zlib 1.21 code) : 121 MBytes/sec, with both VS2003 and VS2005 executable
speed for md5-Deutsch : 58 MBytes/sec with VS2003 executable
speed for md5-Deutsch : 68 MBytes/sec with VS2005 executable
speed for md5 from openssl : 66 MBytes/sec with VS2003 executable
speed for md5 from openssl : 81 MBytes/sec with VS2005 executable



On AMD 64 3000+
speed for adler : 850 MBytes/sec, with both VS2003 and VS2005 (32 or 64 bits) executable
speed for crc32 "c e1" (zlib 1.14 code): 275 MBytes/sec, with both VS2003 and 32 bits VS2005 executable
speed for crc32 "c e1" (zlib 1.14 code): 286 MBytes/sec, with 64 bits VS2005 executable
speed for crc32 "c e3" (zlib 1.21 code) : 640 MBytes/sec, with both VS2003 and 32 bits VS2005 executable
speed for crc32 "c e3" (zlib 1.21 code) : 568 MBytes/sec, with 64 bits VS2005 executable (BLURP)
speed for md5-Deutsch : 170 MBytes/sec with VS2003 executable
speed for md5-Deutsch : 204 MBytes/sec with 32 bits VS2005 executable
speed for md5-Deutsch : 195 MBytes/sec with 64 bits VS2005 executable
speed for md5 from openssl : 195 MBytes/sec with VS2003 executable
speed for md5 from openssl : 242 MBytes/sec with 32 bits VS2005 executable
speed for md5 from openssl : 242 MBytes/sec with 64 bits VS2005 executable



On pentium 4 2.4 ghz laptop
speed for adler : 882 MBytes/sec, with VS2003 executable
speed for adler : 591 MBytes/sec, with VS2005 executable
speed for crc32 "c e1" (zlib 1.14 code): 296 MBytes/sec, with both VS2003 and VS2005 executable
speed for crc32 "c e3" (zlib 1.21 code) : 500 MBytes/sec, with both VS2003 and VS2005 executable
speed for md5-Deutsch : 115 MBytes/sec with VS2003 executable
speed for md5-Deutsch : 127 MBytes/sec with VS2005 executable
speed for md5 from openssl : 123 MBytes/sec with VS2003 executable
speed for md5 from openssl :  132 MBytes/sec with VS2005 executable



On celeron 4 2.0 ghz laptop
speed for adler : 644 MBytes/sec, with VS2003 executable
speed for adler : 530 MBytes/sec, with VS2005 executable
speed for crc32 "c e1" (zlib 1.14 code): 252 MBytes/sec, with both VS2003 and VS2005 executable
speed for crc32 "c e3" (zlib 1.21 code) : 414 MBytes/sec, with both VS2003 and VS2005 executable
speed for md5-Deutsch : 100 MBytes/sec with VS2003 executable
speed for md5-Deutsch : 109 MBytes/sec with VS2005 executable
speed for md5 from openssl : 109 MBytes/sec with VS2003 executable
speed for md5 from openssl :  113 MBytes/sec with VS2005 executable


