SGI Performance Comparisons

Compiling Lynx V2.7.1 With MIPS Pro and GCC

(OLD DATA)

Last Change: 22/May/2008

Here are the older tests results, for systems with varying compiler versions, disks, OS versions, etc. Many are not directly comparable, so be careful how you use this data.

                                     Time                            Credit
                                    (mm:ss)    Compiler             (if any)

Octane R120000SC 300MHz 2MB L2:      00:55     MIPS Pro 7.3.1.3m      I.M.        [hinv]
O2 R12000SC 400MHz 4MB L2:           01:04     MIPS Pro 7.3.1.2m      S.E.        [hinv]
O2 R12000SC 300MHz 1MB L2:           01:23     MIPS Pro 7.3.1.2m      I.M.        [hinv]
Indy R5000SC 180MHz 512K L2:         03:25     MIPS Pro 7.3.1.2m      I.M.        [hinv]
Indy R5000SC 150MHz 512K L2:         03:42     MIPS Pro 7.3.1.2m      I.M.        [hinv]
Indigo R4400SC 150MHz 1MB L2:        05:02     MIPS Pro 7.3.1.2m      I.M.        [hinv]
Indy R5000PC 150MHz:                 05:16     MIPS Pro 7.3.1.2m      I.M.        [hinv]
Indigo R4000SC 100MHz 1MB L2:        09:48     MIPS Pro 7.3.1.2m      I.M.        [hinv]

Older results with earlier compiler versions which are not comparable:

Octane R12000SC 400MHz 2MB L2:       00:36     MIPS Pro 7.3           I.M.        [hinv]
Onyx2 R10000SC 250MHz 4MB L2:        00:47     MIPS Pro 7.2.1         I.M.
Origin200QC R10000SC 180MHz 2MB L2:  01:06     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
Onyx R10000SC 195MHz 1MB L2:         01:16     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
Indigo2 R10000SC 195MHz 1MB L2:      01:21     MIPS Pro 7.2.1     INT9/Credit 2
Indigo2 R10000SC 175MHz 1MB L2:        ?                              I.M.        [hinv]
Onyx R4400SC 250MHz 4MB L2:          02:06     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
O2 200MHz R5000SC 1MB L2:              ?                              I.M.
Onyx 200MHz R4400SC 4MB L2:          02:30     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
Indy R4400SC 200MHz 1MB L2:            ?
O2 R10000SC 150MHz 1MB L2:             ?                              I.M.        [hinv]
POWER Onyx R8000SC 90MHz 4MB L2:     02:50     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
Indigo2 250MHz R4400SC 2MB L2:         ?
Indigo2 200MHz R4400SC 1MB L2:         ?
O2 R5000SC 180MHz 512K L2:             ?                              I.M.        [hinv]
POWER Onyx R8000SC 75MHz 4MB L2:     03:16     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
Onyx 150MHz R4400SC 1MB L2:          03:27     MIPS Pro 7.2.1     INT9/Credit 2
POWER Series 100MHz R4400SC 1MB L2:  03:53     MIPS Pro 7.2.1.2m  INT9/Credit 2
Indy R4600SC 133MHz 512K L2:         04:01     MIPS Pro 7.2.1.2m  INT9/Credit 2
POWER Series 100MHz R4000SC 1MB L2:  07:22     MIPS Pro 7.2.1.2m  INT9/Credit 2
Indy R4400SC 200MHz 1MB L2:            ?

Table 32: Time to compile Lynx V2.7.1 using MIPS Pro with -O0 in the Makefiles.


                                     Time                            Credit
                                    (mm:ss)    Compiler             (if any)

Octane R120000SC 300MHz 2MB L2:      02:12     MIPS Pro 7.3.1.3m      I.M.        [hinv]
O2 R12000SC 400MHz 4MB L2:           02:30     MIPS Pro 7.3.1.2m      S.E.        [hinv]
O2 R12000SC 300MHz 1MB L2:           03:36     MIPS Pro 7.3.1.2m      I.M.        [hinv]
Indigo2 R10000SC 195MHz 1MB L2:      03:43     MIPS Pro 7.3.1.2m      I.M.        [hinv]
Indy R5000SC 180MHz 512K L2:         08:18     MIPS Pro 7.3.1.2m      I.M         [hinv]
Indy R5000SC 150MHz 512K L2:         08:44     MIPS Pro 7.3.1.2m      I.M         [hinv]
Indigo R4400SC 150MHz 1MB L2:        11:29     MIPS Pro 7.3.1.2m      I.M.        [hinv]
Indy R5000PC 150MHz:                 12:07     MIPS Pro 7.3.1.2m      I.M         [hinv]
Indigo R3000 33MHz:                  15:57     MIPS Pro 5.3           I.M. [3]    [hinv]
Indigo R4000SC 100MHz 1MB L2:        18:10     MIPS Pro 7.3.1.2m      I.M.        [hinv]

Older results with earlier compiler versions which are not comparable:

Octane R12000SC 400MHz 2MB L2:       01:30     MIPS Pro 7.3           I.M.        [hinv]
Onyx2 R10000SC 250MHz 4MB L2:        01:55     MIPS Pro 7.2.1 [2]     I.M.
Origin2000 300MHz R12000SC 8MB L2:   02:02     MIPS Pro 7.3b [1]  John McCalpin
Onyx2 195MHz R10000SC 4MB L2:        02:32     MIPS Pro ?                         [hinv]
Origin200QC R10000SC 180MHz 2MB L2:  02:39     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
Onyx R10000SC 195MHz 1MB L2:         03:04     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
Origin200 R10000SC 180MHz 1MB L2:    03:15     MIPS Pro 7.2.1.2m  INT9/Credit 2   [hinv]
Indigo2 R10000SC 195MHz 1MB L2:      03:17     MIPS Pro 7.2.1     INT9/Credit 2
Octane R10000SC 175MHz 1MB L2:       03:28     MIPS Pro 7.2.1.2m  INT9/Credit 2   [hinv]
Indigo2 R100000SC 175MHz 1MB L2:     04:04     MIPS Pro 7.3           I.M.        [hinv]
Onyx R4400SC 250MHz 4MB L2:          04:53     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
O2 R10000SC 175MHz 1MB L2:           04:59     MIPS Pro 7.2.1.2m  INT9/Credit 2   [hinv]
O2 200MHz R5000SC 1MB L2:            05:23     MIPS Pro 7.2.1         I.M.
Onyx 200MHz R4400SC 4MB L2:          05:41     MIPS Pro 7.2.1.2m  INT9/Credit 2   [hinv]
Indigo2 250MHz R4400SC 2MB L2:       05:42     MIPS Pro 7.2.1         I.M.
O2 R10000SC 150MHz 1MB L2:           06:15     MIPS Pro 7.3           I.M.        [hinv]
POWER Onyx R8000SC 90MHz 4MB L2:     06:35     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
Indigo2 250MHz R4400SC 2MB L2:       06:46     MIPS Pro 7.3
Indigo2 200MHz R4400SC 1MB L2:       07:19     MIPS Pro 7.2.1         I.M.
O2 R5000SC 180MHz 512K L2:           07:27     MIPS Pro 7.3           I.M.        [hinv]
Indy 200MHz R4400SC 1MB L2:          07:31     MIPS Pro 7.2.1         I.M.
POWER Onyx R8000SC 75MHz 4MB L2:     07:52     MIPS Pro 7.2.1     INT9/Credit 2   [hinv]
POWER Series 150MHz R4400SC 1MB L2:  08:10     MIPS Pro 7.2.1.2m  INT9/Credit 2
Onyx 150MHz R4400SC 1MB L2:          08:13     MIPS Pro 7.2.1     INT9/Credit 2
Indy R4600SC 133MHz 512K L2:         09:42     MIPS Pro 7.2.1.2m  INT9/Credit 2
Indy R4600SC 133MHz 512K L2:         10:22     MIPS Pro 7.2.1         I.M.
POWER Series 100MHz R4400SC 1MB L2:  11:04     MIPS Pro 7.2.1.2m  INT9/Credit 2
POWER Series 100MHz R4000SC 1MB L2:  12:10     MIPS Pro 7.2.1.2m  INT9/Credit 2
Indy 133MHz R4600PC:                 15:59     MIPS Pro 7.2.1         I.M.
Indy 100MHz R4600PC:                 16:30     MIPS Pro 7.2.1         I.M.

Table 32a: Time to compile Lynx V2.7.1 using MIPS Pro Compilers (-O2).


                                     Time      Credit
                                    (mm:ss)   (if any)

Indigo2 R10000SC 175MHz 1MB L2:      02:02      I.M.        [hinv]
O2 200MHz R5000SC 1MB L2:            02:50      I.M.
Indigo2 250MHz R4400SC 2MB L2:       03:07      I.M.
Indy R5000SC 180MHz 512K L2:         03:45      I.M.
Indigo2 R4400SC 150MHz 1MB L2:       05:25      I.M.        [hinv] 
Indy R5000PC 150MHz:                 05:26      I.M.
Indy R4600SC 133MHz 512K L2:         05:32      I.M.
Indigo R4000SC 100MHz 1MB L2:        08:48      I.M.        [hinv]

Table 32b: Time to compile Lynx V2.7.1 using GNU Compiler (GCC V2.8.1).

[1] System had an old slow disk, using Beta 7.3 compilers.
[2] System used a modern 18GB USCSI disk.
[3] A number of modules were compiled without optimisation due to certain
    values exceeding limits for the older 5.3 compiler.


This discussion applies to results from a particular table, but don't compare times between two different tables.

Many other tests I've done show how the lack of L2 cache can hurt the performance of R4600 Indys, but this example reveals the effect very clearly. For example, if the 200MHz Indy had no L2 cache, its time would be more like 10 or 11 minutes, so the 1MB L2 gives an extra 30% or 40% speed increase for this test. Thus, if you ever have to use or are considering buying an R4600 Indy, I strongly recommend you go for the SC version rather than the PC version if you can (the R4600SC 133MHz CPU has 512K L2 cache).

Another observation worthy of note is the better speed from the R10K O2 compared to the R5K O2; even at a lower clock speed, the R10K O2 is faster. R10K O2s are good for integer processing. In fact, probably by the vaguaries of compiler optimising (chance variance), the SPECint95 data shows an R10K/250 O2 actually beating an R10K/250 Origin2000 for the m88ksim test. In other words, for those cases where the bottleneck is not memory bandwidth, memory latency or L2/RAM cache access issues, an R10K/R12K O2 is a good choice (this applies to integer processing only; fp is a different story). Note that this is partly why R10K O2s are faster for 3D graphics than an R5K O2 at the same [similar] clock speed: as an SGI engineer explained, 3D graphics involves integer operations such as array accesses and pointer chasing - the R10K will be faster than R5K for these operations. Thus, at the same clock speed, R10K O2s offer around 20% better performance than R5K O2s for 3D graphics.

The run times for the Lynx test are getting quite low now with newer systems (eg. the Origin2000 R12K/300 is probably being limited by disk speed, not CPU speed), so I'm on the lookout for a tougher test. Any suggestions? However, it's not easy choosing what package to use as a compilation test; sometimes a compilation involves a configure script which can hide the possibility that different systems are not compiling in the same way (eg. modules or plugins installed on one system but not on another). This is why I'm not going to use GIMP as a compilation test. One possibility is GNU, which definitely takes a long time to finish.