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)
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
You can get both source and executable on
readfile_vs2005_test.zip.
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
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
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