Somes Benchmark with readfile

 

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

 

 

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)

gd: compute MD5 code using MD5 source from L. Peter Deutsch

        see http://sourceforge.net/project/showfiles.php?group_id=42360

g : 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

 

You can get both source and executable on readfile_150_vs2005_test.zip, and updated Readfile at readfi16.zip or at readfile161.zip

 

·        amd64Release/Readfvs8.exe : AMD-x64 Win64 executable from Visual Studio 2005

·        amd64ReleaseAsm/Readfvs8.exe : AMD-x64 Win64 executable from Visual Studio 2005, with assembly optimisation for OpenSSL MD5 (see this MD5 assembly code webpage)

·        ia64Release/Readfvs8.exe : Itanium (untested) Win64 executable from Visual Studio 2005 edition

·        x86-32Release/Readfvs8.exe : 386 and more, Win32 executable from Visual Studio 2005 edition

·        x86-32ReleaseAsm/Readfvs8.exe : 386 and more, Win32 executable from Visual Studio 2005, with assembly optimisation for OpenSSL MD5

·        x86-32ReleaseAsmDll/Readfvs8.exe : 386 and more, Win32 executable from Visual Studio 2005, using CRTDLL.LIB (very small executable, which run on all Win32 platforms), with assembly optimisation for OpenSSL MD5

·        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 platforms)

·        x8632_vs2003_ReleaseAsm/READFVC71.exe : 386 and more, Win32 executable from Visual Studio 2003, with assembly optimisation for OpenSSL MD5

·        x8632_vs2003_ReleaseCrtDllAsm/READFVC71.exe : 386 and more, Win32 executable from Visual Studio 2003, using CRTDLL.LIB (very small executable, which run on all Win32 platforms) , with assembly optimisation for OpenSSL MD5

 

 

Somes benchmark result under Windows XP

 

 

 

On AMD 64 3000+ runing Windows 64 bits edition beta

speed for adler : 1032 MBytes/sec, with VS2005 (64 bits) executable

speed for adler : 1006 MBytes/sec, with both VS2003 and VS2005 (32) executable

speed for crc32 "c e1" (zlib 1.14 code): 290 MBytes/sec, with VS2003 executable

speed for crc32 "c e1" (zlib 1.14 code): 290 MBytes/sec, with VS2005 32 bits

speed for crc32 "c e1" (zlib 1.14 code): 304 MBytes/sec, with 64 bits VS2005 executable

speed for crc32 "c e3" (zlib 1.21 code) : 650 MBytes/sec, with both VS2003 executable

speed for crc32 "c e3" (zlib 1.21 code) : 656 MBytes/sec, with both VS2005 32 bits executable

speed for crc32 "c e3" (zlib 1.21 code) : 576 MBytes/sec, with 64 bits VS2005 executable (BLURP !!)

speed for md5-Deutsch : 171 MBytes/sec with VS2003 executable

speed for md5-Deutsch : 207 MBytes/sec with 32 bits VS2005 executable

speed for md5-Deutsch : 203 MBytes/sec with 64 bits VS2005 executable

speed for md5 from openssl : 204 MBytes/sec with VS2003 executable

speed for md5 from openssl : 255 MBytes/sec with 32 bits VS2005 executable

speed for md5 from openssl : 254 MBytes/sec with 64 bits VS2005 executable

speed for md5 from openssl + asm : 340 MBytes/sec with VS2003 executable

speed for md5 from openssl + asm : 340 MBytes/sec with 32 bits VS2005 executable

speed for md5 from openssl + asm : 347 MBytes/sec with 64 bits VS2005 executable

 

 

 

On pentium 3-850 Mhz (100 Mhz FSB)

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 (133 Mhz FSB)

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 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

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

 

 

 


Return to the 64 bits test and stuff from Gilles Vollant