Here is a selected list of GAPstones for various machines.
Computer Model MHz Memory OS Compiler GAPstones by
Atari ST520+ 8 4 MB TOS gcc 2.1 1168 M. Schoenert Apollo DN10000 ? ? SR10.3 ? 20625 R. Lewis DECstation 3100 20 32 MB Ultrix gcc 2.2 22590 M. Schoenert DECstation 5120 25 32 MB Ultrix gcc 2.2 24942 M. Schoenert IBM PC 386SX 16 ? DOS djgpp 1.05 1607 S. Linton IBM PC 386DX 33 ? DOS djgpp 1.05 6057 S. Rosenbrock IBM PC 486DX 33 ? DOS djgpp 1.05 9948 L. Soicher IBM PC 486DX 50 16 MB 386BSD gcc 2.3.3 32894 M. Schoenert IBM PC 486DX 50 16 MB DOS djgpp 1.09 ~32000 M. Schoenert IBM RS6000 950 ~40 lots AIX cc 41691 R. Dentzer HP 730 67 128 MB HP-UX 8 cc 63578 M. Schoenert NeXTstation 25 ? Mach ? 16484 G. Mess Sparc 4/280 40 32 MB SunOs gcc 2.1 15145 R. Dentzer SparcStation SLC ? ? SunOs ? 11962 M. Smith SparcStation SLC ? 12 MB SunOS ? 12477 D. Endico SparcStation SLC 20 16 MB SunOs gcc 2.1 15272 R. Dentzer SparcStation 1+ ? ? SunOs ? 14203 W. Nickel SparcStation 1+ ? ? SunOs ? 15032 M. Smith SparcStation 1+ ? ? SunOs ? 16739 D. Sibley SparcStation 1+ 25 24 MB SunOs ? 17758 R. Dentzer SparcStation ELC ? ? SunOs ? 19821 M. Smith SparcStation IPX ? 64 MB SunOS ? 23782 D. Endico SparcStation 2 ? ? SunOS ? 24013 A. Caranti SparcStation 2 40 32 MB SunOS gcc 2.1 27888 R. Dentzer SparcStation ? ? 64 MB SunOS ? 39772 A. Kaup SparcStation 10-20 33 32 MB SunOS gcc 2.1 47619 R. Dentzer SparcStation 10-31 ? ? SunOs ? 44917 M. Smith SparcStation 10-30 ? ? SunOS ? 48329 W. Nickel
A few remarks:
The Atari ST520+ is the slowest machine. It is more than a factor of 50
slower than the fastest machine (a HP 730). Note that quite a bit of
development of GAP was done on this machine (it is the one I have at
home). Compilation (with optimization) of the entire GAP kernel takes
over 4 hours on this machine.
There is a big difference between L. Soicher's result for a 486DX33 and
our result for 486DX50. One would expect that the 486DX50 is 50% faster,
but not that it is more that 3 times faster. The reason is the
following. In regular intervals (actually whenever a loop body is
executed) GAP checks whether the user wants to interrupt the computation.
Under UNIX this means checking a variable that is set by the signal
handler for '<ctr>-C'. Unfortunatly this is not possible under DOS/GO32
(or is it? 'setcbrk' might do what we want, but the documentation of
DJGPP only says that there is such a function, not what it does). Thus
under DOS GAP checks whether the user has pressed a key, and if so,
whether it was '<ctr>-C'. Now checking whether a key was pressed
requires a system call ('kbhit()'), which means that GO32 (the DOS
extender) has to switch from protected mode (in which GAP runs) to real
mode (which DOS wants). This is a *very* expensive operation. So
expensive, that GAP 3.1 spent more than half of the time it took to
execute 'combinat.tst' switching from protected mode to real mode and
back again. In 3.2 we have changed GAP so that only every 20th check
actually does call 'kbhit()'. This made GAP more than a factor of 2
faster. And the time between pressing '<ctr>-C' and GAP responding
is still small enough.
The results for SparcStations vary somewhat. I think this has to do with
the compiler used. GNU CC 2.x seems to be best.
The NeXTstation is actually faster than the above result would indicate.
Namely, one has to use GNU CC 2.x, instead of the compiler that comes
with the operating system, which is GNU CC 1.39 (I think). However,
installation of GNU CC 2.x is not a trivial task (or so I am told, there
seems to be some problem with precompiled header files).
-- .- .-. - .. -. .-.. --- ...- . ... .- -. -. .. -.- .- Martin Sch"onert, Martin.Schoenert@Math.RWTH-Aachen.DE, +49 241 804551 Lehrstuhl D f"ur Mathematik, Templergraben 64, RWTH, D 51 Aachen, Germany