benchmrk.txt Mark Riordan mrr@scss3.cl.msu.edu This list of machines serves both as a list of computers to which RIPEM has been ported, and a measure of the performance of the various platforms. The benchmark in question is from "make benchmark"; RIPEM generates a particular 516-bit key. In this I list the fastest time I've yet recorded for the various platforms after a little bit of twiddling with compilers and, in some cases, introducing assembly code (as noted). I'd be interested in 386/486 timings with a decent compiler. I realize that in some cases, mediocre compilers hampered performance. Note: Beta-8 introduced Mark Henderson's BIGNUM speedup that improves performance by about 15%. Unmarked entries are pre-Beta-8 and should be compensated for accordingly. Also, some versions have critical routines in assembly code, as noted. Times are in seconds; user time + system time. Machine Time in secs IBM 390 1.9 (AIX/ESA, RIPEM 1.1b2 + GMP) IBM 390/unknown 2.5 (AIX/ESA, RIPEM 1.0.4) HP 9000/735 3.6 (RIPEM 1.1a) IBM RS/6000-560 4.0 (xlc+gcc, RIPEM 1.0.7) HP 9000/730 4.5 (gcc+GMP, RIPEM 1.1) Sun SPARCstation 10 4.5 (gcc+GMP, RIPEM 1.1) SGI Indigo R3000 4.6 (gcc+GMP, RIPEM 1.1) IBM RS/6000-350 4.7 (xlc+gcc, 1.0.7) SGI Crimson R4000 5.1 (RIPEM 1.1a) SPARCstation Classic 5.2 (gcc+GMP, RIPEM 1.1) SGI Onyx @ 100MHz 6.37 (cc of Irix 4.0.5, -O, RIPEM 1.1) 486-33/66 PC Windows NT 6.71 (MS CL + MRR's asm code, RIPEM 1.0.7) Sun SPARCstation 10-41 6.8 (Sun acc 2.0.1: -cg92 -O3, + asm) HP 9000/720 7.5 (HP/UX cc 8.05 + gcc 2.3.1, RIPEM 1.0.7) Sun SPARCstation ELC 7.6 (gcc+GMP, RIPEM 1.1) 486-33/66 PC, 256K cache 7.8 (NeXT gcc 2.2.2 + MRR's asm code, 1.0.7) IBM RS/6000-520 8.0 (RIPEM 1.1b2 + GMP) 486-33/66 PC, 256K cache 8.1 (Linux 0.99pl12; GCC 2.4.5+asm, RIPEM 1.2b1) IBM PS/2-95 (486/33) 8.7 (RIPEM 1.1b2 + GMP + GCC 2.4.5) 486-33 PC Linux 8.8 (gcc+GMP, RIPEM 1.1) HP 9000/730 8.8 (gcc 2.3.1) Sun SPARCstation 10-512 8.9 (Solaris 2.x, gcc 2.3.3, 1.2) DECstation 5000-240 9.5 (Ultrix 4.2A cc + gcc, 1.0.7) HP 9000/720 9.6 (HP/UX cc 8.05 + gcc 2.2.2) IBM RS/6000-320 9.9 (xlc+gcc, RIPEM 1.0.7) Sun 4/330 10.3 (gcc+GMP, RIPEM 1.1) 486-33/66 PC, 256K cache 10.6 (djgcc 2.2.2 + MRR's asm code, 1.0.5) SGI 4D/35 R3000 10.97 (cc, RIPEM 1.0.7) IBM RS/6000-520 11.6 (RIPEM 1.0.4) Sun SPARCstation 10-41 11.6 (Sun acc 2.0.1: -O3, + asm) NeXTStation Turbo (040@33) 11.8 (gcc 2.2.1 + MRR's asm code, 1.0.7) SGI Indigo R3000 12.7 (cc, Beta-9) Sun SPARCstation 10-30 12.9 (Mark Henderson's asm code + cc + gcc) IBM RS/6000-220 13.5 (xlc) 486-33 PC Linux 0.99 13.7 (gcc 2.3.3 + asm, 1.0.7) 486-33 (IBM PS/2 Mod 95) 16.6 (AIX/386, 1.0.4) Sun SPARCstation 10-41 17.0 (gcc 2.1) Sun SPARCstation Classic 16.8 (gcc+asm, 1.1a) NeXTStation (68040@25) 17.7 (gcc 1.93 + MRR's asm code) Motorola 8520 (88000) 17.9 486-33/66 PC, 256K cache 18.4 (Generic DOS version /w 386 detect, 1.1) Sun SPARCstation IPX 18.5 (gcc 2.3.3, 1.2b2) Sun SPARCstation 10-30 19.0 (gcc 2.3.1) Sun SPARCstation 2 20.0 (cc + Henderson's asm, RIPEM 1.0) DECstation 5000-200 20.0 NeXTStation Turbo (040@33) 20.2 (gcc 2.2.1) 486-33 PC 20.21 (Linux 0.98 + asm code, beta-7) 486-33 PC, 64K cache 20.21 (djgcc 2.2.2 + MRR's asm code, 1.0.7) Sun SPARCstation ELC 22.0 (Sun acc 2.0.1+Henderson's asm, RIPEM 1.0.7) Sun SPARCstation 10-21 22.8 (gcc 2.1) 486-50 PC (386BSD) 24.37 (gcc 1.39) Sun SPARCstation 2 25.1 (Sun acc 2.0.1: -O3, + asm) Apollo DN5500 25.8 (gcc 2.3.3) Convex C240 26.2 (cc 5.0.0.2 + gcc 2.2.2) NeXTStation (68040@25) 27.2 (gcc 2.2.1) Sun SPARCstation 2 27.2 (gcc 2.1) 486-33 PC 28.71 (Linux 0.98, beta-8) Sun 4/330 30.0 (Sun acc 2.0.1+Henderson's asm, RIPEM 1.0.7) Mac SE/30 (68030 @16) 30.3 (w/ Outerbridge's ASM code, RIPEM 1.3) Sun SPARCstation ELC 32.8 (gcc 2.3.1) 486-33 PC 34.43 (Linux 0.98, beta-7) 486-33 PC, 64K cache 35.1 (djgcc 2.2.2, MS-DOS) Mac SE/30 (68030 @16) 35.9 (THINK C 6.0 w/ Outerbridge asm, 1.1) Sun SPARCstation IPC 36.9 (gcc, RIPEM 1.0.7) Sun SPARCstation 1 37.6 (gcc + asm, 1.1a) Sun SPARCstation 1 40.8 (cc + asm, RIPEM 1.0.7) Sun 3/260 48.5 (RIPEM 1.0.1 w/ asm code) Gateway 386-25 PC, no cache 51.6 (Linux 0.99pl13, 1.1a) Sun 3/480 (68030) 56.9 (cc, RIPEM 1.0) 386-33, ISC Unix 2.2.1 58.7 (Interactive System's K&R compiler, 1.0.7) Mac SE/30 (68030 @16) 62.7 (w/ Outerbridge's asm code) 386-25 PC, no cache 65.4 (djgcc 2.2.2 + MRR's asm code) Sun SPARCstation 1 70.0 (gcc 2.3.1) 486-33 PC, 64K cache 80.3 (16-bit Microsoft C 7.0) HP 9000/350 84.7 (HP cc from HP/UX 8.0b, 1.0.7) 386-25 PC, no cache 106.0 (djgcc 2.2.2, MS-DOS) 386-25 PC, no cache 107.0 (Generic MSDOS version w/ 386 detect, 1.1) 386-20, no cache 122.1 (cc, sysV/386r3.2.1, 1.0.6) Mac SE/30 (68030 @16) 226.7 (32-bit THINK C 5.02) 8088-4.77, no cache 4188.1 (Generic MSDOS version w/ 386 detect, 1.1)