[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Some timings
Here are some timings on various routines, machines, compilers. All
tests unless otherwise noted were run with 10000 byte block inputs,
10000 times. Varying the block size upward caused no timing changes.
The machines were all running one flavor or another of Unix.
The sparc10 is a sparc 20/612, the mips is a decstation 3000/200,
the alpha is a 3000/600 175 Hz machine.
MD5
=======================
486 66MHz gcc -O2 1.37 Mbyte/sec
sparc ipc gcc2 -O2 .99 Mbyte/sec
mips 25MHz gcc -O 1.31 Mbyte/sec
hp 735 5.26 Mbyte/sec
sparc10 gcc2 -O2 5.88 Mbyte/sec
dec alpha 600 cc -O2 7.8 Mbyte/sec
MD4
=======================
dec alpha 600 cc -O 6.25 Mbyte/sec
SHA
=======================
486 66MHz gcc -O4 1.16 Mbyte/sec
sparc10 gcc2 -O2 3.1 Mbyte/sec
dec alpha 600 gcc2 -O2 5.0 Mbyte/sec
HAVAL
=======================
486 66MHz gcc -O .42 MByte/sec
sparc ipc gcc2 -O2 .60 MByte/sec
mips 25MHz R3000 gcc -O .74 MByte/sec
sparc10 cc -O2 3.17 MByte/sec
dec alpha gcc -O2 2.33 MByte/sec*
*wrong answer; source code not converted to 64-bit ints.
DES ("random" data)
=======================
486 66MHz gcc -O2 .43 Mbyte/sec
sparc ipc gcc2 -O2 .31 Mbyte/sec
mips 25MHz .25 Mbyte/sec
sparc10 gcc2 -O2 1.04 Mbyte/sec
dec alpha 600 gcc2 -O2 1.87 Mbyte/sec
DES keysetup only
=======================
486 66MHz gcc -O2 115 usec/key
sparc10 cc -O2 40 usec/key
dec alpha 600 gcc2 -O2 23 used/key
RSA (512 bit modulus), GNU MP package, nothing fancy
63 byte input chunk
=======================
66MHz 486 95 bytes/sec
sparcIPC 84 bytes/sec
sparc10 350 bytes/sec
DEC alpha 600 1250 bytes/sec
In the following two timings, the two Diffie-Hellman methods offer the same
resistance to a discrete log attack, but one uses smaller numbers. The
elliptic curve method has an optimization that is applicable to the mod p
method and yields a speedup by a factor of 2.5.
DH key exchange (512 bit, mod p)
=======================
Total = 2*Offer + Reply:
Sparc IPC (25MHz) 2670 msec
Dec Alpha 600 (175 MHz) 185 msec
DH key exchange (155 bit, elliptic curve, GF[2^155]
(with table of powers of g)
=======================
Total = 2*Offer + Reply:
sparc ipc 136.9 msec
dec alpha 11.62 msec
Phil Karn points out that the mod p case can be considerably faster if
we use 128 exponents. Applying that optimization, and the
optimization of the table of powers of g, we estimate
DH key exchange (512 bit, mod p)
(128 bits of exponent, table of powers of g)
=======================
Total = 2*Offer + Reply:
Sparc IPC (25MHz) 380 msec estimated
Dec Alpha 600 (175 MHz) 26.2 msec estimated
The elliptic curve method would speed up slightly with 128 bit exponents
DH key exchange (elliptic curve, GF[2^155]
(128 bits of exponent, table of powers of g)
=======================
Total = 2*Offer + Reply:
Sparc IPC (25MHz) 114 msec estimated
Dec Alpha 600 (175 MHz) 21.8 msec estimated