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