Implementation notes: amd64, molecule, crypto_hash

Computer: molecule
Architecture: amd64
CPU ID: GenuineIntel-000106c2-bfe9fbff
CPU cycles/second: 1596100000...1596100000 (amd64cpuinfo)
SUPERCOP version: 20090205
Benchmark dates: 20090205...20090210

crypto_hash

TimeRelative timePrimitiveImplementationCompiler
507601.00blake32crypto_hash/blake32/refgcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.3.2)
386401.00blake64crypto_hash/blake64/refgcc -march=k8 -O3 -fomit-frame-pointer (4.3.2)
270361.00bmw256crypto_hash/bmw256/optc (Optimized_C_v2.0)gcc -funroll-loops -O3 -fomit-frame-pointer (4.3.2)
284041.05bmw256crypto_hash/bmw256/refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer
139801.00bmw512crypto_hash/bmw512/optc (Optimized_C_v2.0)gcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.3.2)
151081.08bmw512crypto_hash/bmw512/refgcc -funroll-loops -O3 -fomit-frame-pointer
4442401.00cubehash81crypto_hash/cubehash81/emmintrin3gcc -funroll-loops -m64 -Os -fomit-frame-pointer (4.3.2)
4723921.06cubehash81crypto_hash/cubehash81/emmintrin2gcc -O3 -fomit-frame-pointer
6131761.38cubehash81crypto_hash/cubehash81/emmintringcc -O3 -fomit-frame-pointer
33455887.53cubehash81crypto_hash/cubehash81/simplegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
1100146824.76cubehash81crypto_hash/cubehash81/specgcc -funroll-loops -m64 -O3 -fomit-frame-pointer
347521.00cubehash816crypto_hash/cubehash816/emmintrin3gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.3.2)
2778247.99cubehash816crypto_hash/cubehash816/simplegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
219744063.23cubehash816crypto_hash/cubehash816/specgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
2275201.00cubehash82crypto_hash/cubehash82/emmintrin3gcc -march=k8 -O3 -fomit-frame-pointer (4.3.2)
17107207.52cubehash82crypto_hash/cubehash82/simplegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
631002027.73cubehash82crypto_hash/cubehash82/specgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer
216961.00cubehash832crypto_hash/cubehash832/emmintrin3gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.3.2)
1755008.09cubehash832crypto_hash/cubehash832/simplegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer
190737687.91cubehash832crypto_hash/cubehash832/specgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
1142401.00cubehash84crypto_hash/cubehash84/emmintrin3gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.3.2)
8964007.85cubehash84crypto_hash/cubehash84/simplegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
396976834.75cubehash84crypto_hash/cubehash84/specgcc -funroll-loops -O3 -fomit-frame-pointer
614521.00cubehash88crypto_hash/cubehash88/emmintrin3gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.3.2)
4825447.85cubehash88crypto_hash/cubehash88/simplegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer
278764845.36cubehash88crypto_hash/cubehash88/specgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
169921.00edonr256crypto_hash/edonr256/optc (Optimized_C_v2.0)gcc -funroll-loops -m64 -Os -fomit-frame-pointer (4.3.2)
183601.08edonr256crypto_hash/edonr256/refgcc -m64 -march=k8 -O3 -fomit-frame-pointer
90601.00edonr512crypto_hash/edonr512/optc (Optimized_C_v2.0)gcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.3.2)
96361.06edonr512crypto_hash/edonr512/refgcc -m64 -O3 -fomit-frame-pointer
1176001.00groestl256crypto_hash/groestl256/asm (1.0)gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer (4.3.2)
1380001.17groestl256crypto_hash/groestl256/opt64gcc -funroll-loops -O3 -fomit-frame-pointer
1573321.34groestl256crypto_hash/groestl256/mmxgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
1973041.00groestl512crypto_hash/groestl512/asm (1.0)gcc -funroll-loops -O2 -fomit-frame-pointer (4.3.2)
2589841.31groestl512crypto_hash/groestl512/opt64gcc -funroll-loops -m64 -Os -fomit-frame-pointer
9390844.76groestl512crypto_hash/groestl512/mmxgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer
314041.00keccakr1024c576crypto_hash/keccakr1024c576/opt64u18 (1.1.1)gcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.3.2)
326761.04keccakr1024c576crypto_hash/keccakr1024c576/opt64u9gcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.3.2)
356881.14keccakr1024c576crypto_hash/keccakr1024c576/opt64u3gcc -funroll-loops -O3 -fomit-frame-pointer
855122.72keccakr1024c576crypto_hash/keccakr1024c576/opt32u3nitgcc -m64 -march=k8 -O2 -fomit-frame-pointer
918842.93keccakr1024c576crypto_hash/keccakr1024c576/opt32u9gcc -funroll-loops -O3 -fomit-frame-pointer
967683.08keccakr1024c576crypto_hash/keccakr1024c576/opt32u3gcc -O3 -fomit-frame-pointer
2228287.10keccakr1024c576crypto_hash/keccakr1024c576/opt32u18gcc -O3 -fomit-frame-pointer
1074841.00lane256crypto_hash/lane256/bitslicegcc -m64 -march=k8 -O2 -fomit-frame-pointer (4.3.2)
1374841.28lane256crypto_hash/lane256/cgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer
lane256crypto_hash/lane256/mmxgcc -m64 -O3 -fomit-frame-pointer
5658721.00lane512crypto_hash/lane512/cgcc -m64 -march=k8 -O -fomit-frame-pointer (4.3.2)
7484641.00md2crypto_hash/md2/openssl (OpenSSL_0.9.8i_15_Sep_2008)gcc -m64 -march=nocona -O3 -fomit-frame-pointer (4.3.2)
87001.00md4crypto_hash/md4/openssl (OpenSSL_0.9.8i_15_Sep_2008)gcc -m64 -march=k8 -O2 -fomit-frame-pointer (4.3.2)
99481.00md5crypto_hash/md5/refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.3.2)
100801.01md5crypto_hash/md5/opensslgcc -m64 -march=k8 -O3 -fomit-frame-pointer
911041.00md6d224crypto_hash/md6d224/refgcc -funroll-loops -O2 -fomit-frame-pointer (4.3.2)
978361.00md6d256crypto_hash/md6d256/refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer (4.3.2)
1252801.00md6d384crypto_hash/md6d384/refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer (4.3.2)
1575481.00md6d512crypto_hash/md6d512/refgcc -funroll-loops -O2 -fomit-frame-pointer (4.3.2)
559081.00nasha256crypto_hash/nasha256/optgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer (4.3.2)
580441.00nasha512crypto_hash/nasha512/optgcc -funroll-loops -m64 -O2 -fomit-frame-pointer (4.3.2)
295921.00ripemd160crypto_hash/ripemd160/openssl (OpenSSL_0.9.8i_15_Sep_2008)gcc -m64 -Os -fomit-frame-pointer (4.3.2)
219601.00sha1crypto_hash/sha1/openssl (OpenSSL_0.9.8i_15_Sep_2008)gcc -m64 -Os -fomit-frame-pointer (4.3.2)
457441.00sha224crypto_hash/sha224/openssl (OpenSSL_0.9.8i_15_Sep_2008)gcc -m64 -O3 -fomit-frame-pointer (4.3.2)
457921.00sha256crypto_hash/sha256/openssl (OpenSSL_0.9.8i_15_Sep_2008)gcc -O2 -fomit-frame-pointer (4.3.2)
608281.33sha256crypto_hash/sha256/refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer
317281.00sha384crypto_hash/sha384/openssl (OpenSSL_0.9.8i_15_Sep_2008)gcc -m64 -O3 -fomit-frame-pointer (4.3.2)
317041.00sha512crypto_hash/sha512/openssl (OpenSSL_0.9.8i_15_Sep_2008)gcc -m64 -O2 -fomit-frame-pointer (4.3.2)
450841.42sha512crypto_hash/sha512/refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer
333001.00shabal512crypto_hash/shabal512/ref (1.0)gcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.3.2)
991441.00shavite3256crypto_hash/shavite3256/256bit-nosalt (1.00(32bitOpt-nosalt))gcc -funroll-loops -O3 -fomit-frame-pointer (4.3.2)
998161.01shavite3256crypto_hash/shavite3256/256bitgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer
4118761.00shavite3512crypto_hash/shavite3512/512bit-nosalt (1.00(32bitOpt-nosalt))gcc -m64 -march=nocona -O2 -fomit-frame-pointer (4.3.2)
4278241.04shavite3512crypto_hash/shavite3512/512bitgcc -march=k8 -O2 -fomit-frame-pointer
374881.00simd256crypto_hash/simd256/vect128 (1.0.2)gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer (4.3.2)
2490006.64simd256crypto_hash/simd256/optgcc -funroll-loops -O3 -fomit-frame-pointer
7254324193.51simd256crypto_hash/simd256/refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer
210361.00skein512crypto_hash/skein512/optgcc -O3 -fomit-frame-pointer (4.3.2)
1742881.00whirlpoolcrypto_hash/whirlpool/refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer (4.3.2)

crypto_hashblocks

TimeRelative timePrimitiveImplementationCompiler
93001.00md5crypto_hashblocks/md5/little-1gcc -funroll-loops -m64 -Os -fomit-frame-pointer (4.3.2)
106201.14md5crypto_hashblocks/md5/amd64-1gcc -m64 -O3 -fomit-frame-pointer
128041.38md5crypto_hashblocks/md5/refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer
md5crypto_hashblocks/md5/x86-1gcc -m64 -O3 -fomit-frame-pointer
577081.00sha256crypto_hashblocks/sha256/refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.3.2)
577561.00sha256crypto_hashblocks/sha256/inplacegcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.3.2)
405241.00sha512crypto_hashblocks/sha512/refgcc -funroll-loops -m64 -Os -fomit-frame-pointer (4.3.2)
405361.00sha512crypto_hashblocks/sha512/inplacegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer