SGI Performance Comparisons

Compiling Lynx V2.7.1 With MIPS Pro and GCC

Last Change: 01/Apr/2023, 1200hrs

Huge Update! Most Results Redone!

This test shows the time taken to compile the Lynx V2.7.1 text-only web browser.

Jul/2020 Update! I have redone all Indy, Indigo2, O2, Octane and most IRIS Indigo tests using exactly the same model disk (Seagate 36GB 15K ST336753LC) and where possible the same compiler version, so the data is now much more comparable than the old results. I have obtained a SCSI2SD V6 card and will try that out later in targeted systems, along with one or two SATA SSDs using a SCSI/SATA bridge box. In the future I might also add just a few specific O2/Octane tests using the Fujitsu MAS3367NC and MAX3036NC respectively, since these are the disk models I normally use and supply in such systems.

Results submitted by 3rd parties may vary, so compare with caution.

There are three tables, for the following tests:

Prior to running the test, I shut down mediad and SGI Apache to reduce background noise. Here are the results...

Compiler References:

{1} MIPS Pro 7.4.4m
{2} MIPS Pro 7.3 (7.4.1m)
{3} GCC 3.4.6 (Nekoware build)
{4} MIPS Pro 7.3 (7.3)
{5} From IDO 5.3 for IRIX 5.3
{6} GCC 2.6.3 (SGI Freeware for IRIX 5.3)
{7} MIPS Pro 7.3 (7.4.3m)

Disk References:

{1} Seagate 36GB 15K ST336753LC (BF03685A35)
{2} Fujitsu MAS3367NC 36GB 15K (Worldisk MX03367SC800600S)
{3} Fujitsu MAX3036NC 36GB 15K (Worldisk MX03036SC800600X)
{4} Seagate Cheetah ST336704LCV U160 36GB 1" 10000rpm SCA
{5} IBM-ESXSBBD073C3ESTT0ZFNJP86 73GB 15000rpm SCA (Maxtor Atlas 15K II)
{6} COMPAQ BD1468A4B5 146GB 10K SCA
{7} Fujitsu MAX3036NP 36GB 15000rpm 68pin
{8} Seagate 18GB 15000rpm SCA (COMPAQ BD01862376)
{9} Seagate ST3300655LC 300GB 15000rpm SCA


MIPS Pro (-O):
                  CPU     No.          L2/L3       IRIX    Compiler   Disk    Time
System           Type    CPUs   MHz    Cache     Version     Ref      Type   mm:ss    NOTES

Tezro           R16000    4    1000    16MB      6.5.26m      7         4    00:42
Fuel            R16000    1     900     8MB      6.5.26m      7         4    00:43
Fuel            R16000    1     800     4MB      6.5.26m      7         4    00:48
Tezro           R16000    4     700     4MB      6.5.26m      7         4    00:53
Fuel            R16000    1     700     4MB      6.5.26m      7         4    00:54
Origin350       R16000    4     700     4MB      6.5.26m      4         6    00:56
Fuel            R14000    1     600     4MB      6.5.26m      7         4    01:04
Origin300       R14000    2     600     4MB      6.5.30m      1         1    01:14
Origin300       R14000    2     500     2MB      6.5.26m      7         8    01:16
Octane          R14000    1     550     2MB      6.5.26m      7         5    01:17
Octane          R14000    2     600     2MB      6.5.30m      1         1    01:22
Octane          R12000    2     400     2MB      6.5.30m      1         1    01:53    Just to prove only one CPU is used. A tiny gain from general OS speedup.
Octane          R12000    1     400     2MB      6.5.30m      1         1    01:54
Octane          R12000    1     360     2MB      6.5.30m      1         1    02:11
Octane          R12000    1     300     2MB      6.5.30m      1         1    02:28
Octane          R12000    1     270     2MB      6.5.30m      1         1    02:44
Octane          R10000    1     250     2MB      6.5.30m      1         1    02:56    CPU mod; was an R12K/300 2MB, core swapped with an R10K/250 for O2 and clock changed to 250.
O2              R7000     1     600   256K/1MB   6.5.30m      1         1    02:58
O2              R12000    1     400     2MB      6.5.30m      1         1    03:05
Octane          R10000    1     250     1MB      6.5.30m      1         1    03:05
Onyx            R10000    4     195     2MB      6.5.22m      2         4    03:13
Octane          R10000    1     225     1MB      6.5.30m      1         1    03:46
Octane          R10000    1     195     1MB      6.5.30m      1         1    03:47
O2              R7000     1     350   256K/1MB   6.5.30m      1         1    04:10
O2              R12000    1     300     1MB      6.5.30m      1         1    04:23
Indigo2         R10000    1     195     1MB      6.5.22m      1         1    04:38
Octane          R10000    1     175     1MB      6.5.30m      1         1    04:43
O2              R12000    1     270     2MB      6.5.30m      1         1    04:49
O2              R10000    1     250     1MB      6.5.30m      1         1    04:52
Indigo2         R10000    1     175     1MB      6.5.22m      1         1    04:59
O2              R10000    1     195     1MB      6.5.30m      1         1    05:43
Onyx            R4400SC   1     250     4MB      6.5.22m      2         4    05:48
O2              R5200     1     300     1MB      6.5.30m      1         1    05:51
O2              R10000    1     175     1MB      6.5.30m      1         1    07:02
O2              R5000SC   1     200     1MB      6.5.30m      1         1    07:39
Indigo2         R4400SC   1     250     2MB      6.5.22m      1         1    07:39
O2              R10000    1     150     1MB      6.5.30m      1         1    07:56
Onyx            R4400SC   4     200     4MB      6.5.22m      1         9    07:59    Disk connected via SE bus (10MB/sec)
O2              R5000SC   1     180    512K      6.5.30m      1         1    08:58
Indigo2         R4400SC   1     200     2MB      6.5.22m      1         1    09:48
Indy            R5000SC   1     180    512K      6.5.22m      1         1    09:57
Indy            R5000SC   1     150    512K      6.5.22m      1         1    10:29
Indigo2         R4400SC   1     200     1MB      6.5.22m      1         1    10:55
Indy            R4400SC   1     200     1MB      6.5.22m      1         1    11:03
IRIS Indigo     R4400SC   1     150     1MB      6.5.22m      1         1    13:39
Indy            R4400SC   1     150     1MB      6.5.22m      1         1    13:52
Indy            R4600SC   1     133    512K      6.5.22m      1         1    14:14
Indigo2         R4400SC   1     150     1MB      6.5.22m      1         1    14:18
Indy            R5000PC   1     150       -      6.5.22m      1         1    14:44
IRIS Indigo     R3000     1      33       -      5.3          5         1    15:27    Fascinating. :D
O2              R5000PC   1     180       -      6.5.30m      1         1    15:37
IRIS Indigo     R4000SC   1     100     1MB      6.5.22m      1         1    21:41
Indy            R4000SC   1     100     1MB      6.5.22m      1         1    21:48
Indy            R4600PC   1     133       -      6.5.22m      1         1    22:55
Indy            R4600PC   1     100       -      6.5.22m      1         1    23:36
Personal IRIS   R2000     1      12       -      5.3          5         7    51:35    IP6 motherboard.


********************************************************************************************************************************************************************


                                       Disk     Time     Compiler
MIPS Pro (-O0):                        Ref     mm:ss     Reference

                  CPU     No.          L2/L3       IRIX    Compiler   Disk    Time
System           Type    CPUs   MHz    Cache     Version     Ref      Type   mm:ss    NOTES


Tezro           R16000    4    1000    16MB      6.5.26m      7         4    00:18
Fuel            R16000    1     900     8MB      6.5.26m      7         4    00:19
Fuel            R16000    1     800     4MB      6.5.26m      7         4    00:21
Fuel            R16000    1     700     4MB      6.5.26m      7         4    00:23
Tezro           R16000    4     700     4MB      6.5.26m      7         4    00:24
Origin350       R16000    4     700     4MB      6.5.30m      4         6    00:25
Fuel            R14000    1     600     4MB      6.5.26m      7         4    00:27
Origin300       R14000    2     600     4MB      6.5.30m      1         1    00:33
Origin300       R14000    2     500     2MB      6.5.26m      7         8    00:33
Octane          R14000    1     550     2MB      6.5.26m      7         5    00:33
Octane          R14000    2     600     2MB      6.5.30m      1         1    00:35
Octane          R12000    2     400     2MB      6.5.30m      1         1    00:49    Just to prove only one CPU is used. A tiny gain from general OS speedup.
Octane          R12000    1     400     2MB      6.5.30m      1         1    00:50
Octane          R12000    1     360     2MB      6.5.30m      1         1    00:58
Octane          R12000    1     300     2MB      6.5.30m      1         1    01:05
O2              R7000     1     600   256K/1MB   6.5.30m      1         1    01:11
Octane          R12000    1     270     2MB      6.5.30m      1         1    01:13
Octane          R10000    1     250     2MB      6.5.30m      1         1    01:18    CPU mod; was an R12K/300 2MB, core swapped with an R10K/250 for O2 and clock changed to 250.
O2              R12000    1     400     2MB      6.5.30m      1         1    01:18
Octane          R10000    1     250     1MB      6.5.30m      1         1    01:22
Onyx            R10000    4     195     2MB      6.5.22m      2         4    01:24
Octane          R10000    1     225     1MB      6.5.30m      1         1    01:42
O2              R7000     1     350   256K/1MB   6.5.30m      1         1    01:43
Octane          R10000    1     195     1MB      6.5.30m      1         1    01:52
O2              R12000    1     300     1MB      6.5.30m      1         1    01:53
Indigo2         R10000    1     195     1MB      6.5.22m      1         1    02:02
O2              R12000    1     270     2MB      6.5.30m      1         1    02:05
Octane          R10000    1     175     1MB      6.5.30m      1         1    02:06
O2              R10000    1     250     1MB      6.5.30m      1         1    02:07
Indigo2         R10000    1     175     1MB      6.5.22m      1         1    02:13
O2              R10000    1     195     1MB      6.5.30m      1         1    02:30
O2              R5200     1     300     1MB      6.5.30m      1         1    02:33
Onyx            R4400SC   1     250     4MB      6.5.22m      2         4    02:41
O2              R10000    1     175     1MB      6.5.30m      1         1    03:02
O2              R5000SC   1     200     1MB      6.5.30m      1         1    03:22
O2              R10000    1     150     1MB      6.5.30m      1         1    03:28
Onyx            R4400SC   4     200     4MB      6.5.22m      1         9    03:35    Disk connected via SE bus (10MB/sec)
Indigo2         R4400SC   1     250     2MB      6.5.22m      1         1    03:55
O2              R5000SC   1     180    512K      6.5.30m      1         1    03:56
Indigo2         R4400SC   1     200     2MB      6.5.22m      1         1    04:26
Indy            R5000SC   1     180    512K      6.5.22m      1         1    04:27
Indy            R5000SC   1     150    512K      6.5.22m      1         1    04:38
Indy            R4400SC   1     200     1MB      6.5.22m      1         1    04:54
Indigo2         R4400SC   1     200     1MB      6.5.22m      1         1    05:15
Indy            R4400SC   1     150     1MB      6.5.22m      1         1    05:58
IRIS Indigo     R4400SC   1     150     1MB      6.5.22m      1         1    06:08
Indy            R4600SC   1     133    512K      6.5.22m      1         1    06:28
Indigo2         R4400SC   1     150     1MB      6.5.22m      1         1    06:35
Indy            R5000PC   1     150       -      6.5.22m      1         1    06:48
O2              R5000PC   1     180       -      6.5.30m      1         1    07:14
IRIS Indigo     R3000     1      33       -      5.3          5         1    08:50    Fascinating. :D
Indy            R4000SC   1     100     1MB      6.5.22m      1         1    09:54
IRIS Indigo     R4000SC   1     100     1MB      6.5.22m      1         1    09:57
Indy            R4600PC   1     133       -      6.5.22m      1         1    10:58
Indy            R4600PC   1     100       -      6.5.22m      1         1    11:08
Personal IRIS   R2000     1      12       -      5.3          5         7    31:57    IP6 motherboard.


********************************************************************************************************************************************************************


GCC:
                                       Disk     Time     Compiler
                                       Ref     mm:ss     Reference

                  CPU     No.          L2/L3       IRIX    Compiler   Disk      Time
System           Type    CPUs   MHz    Cache     Version     Ref      Type   h:mm:ss    NOTES


Tezro           R16000    4    1000    16MB      6.5.26m      3         4    0:00:43
Fuel            R16000    1     900     8MB      6.5.26m      3         4    0:00:44
Fuel            R16000    1     800     4MB      6.5.26m      3         4    0:00:49
Tezro           R16000    4     700     4MB      6.5.26m      3         4    0:00:54
Fuel            R16000    1     700     4MB      6.5.26m      3         4    0:00:54
Fuel            R14000    1     600     4MB      6.5.26m      3         4    0:01:04
Origin300       R14000    2     600     4MB      6.5.30m      3         1    0:01:04
Octane          R14000    2     600     2MB      6.5.30m      3         1    0:01:07
Origin300       R14000    2     500     2MB      6.5.26m      3         8    0:01:15
Octane          R14000    1     550     2MB      6.5.26m      3         5    0:01:15
Octane          R12000    2     400     2MB      6.5.30m      3         1    0:01:34    Just to prove only one CPU is used. A tiny gain from general OS speedup.
Octane          R12000    1     400     2MB      6.5.30m      3         1    0:01:35
Octane          R12000    1     360     2MB      6.5.30m      3         1    0:01:51
Octane          R12000    2     350     1MB      6.5.26m      3         4    0:01:55    CPU mod.
O2              R7000     1     600   256K/1MB   6.5.30m      3         1    0:02:04
Octane          R12000    1     300     2MB      6.5.30m      3         1    0:02:05
O2              R12000    1     400     2MB      6.5.30m      3         1    0:02:18
Octane          R12000    1     270     2MB      6.5.30m      3         1    0:02:19
Octane          R10000    1     250     2MB      6.5.30m      3         1    0:02:29    CPU mod; was an R12K/300 2MB, core swapped with an R10K/250 for O2 and clock changed to 250.
Octane          R10000    1     250     1MB      6.5.30m      3         1    0:02:35
O2              R7000     1     350   256K/1MB   6.5.30m      3         1    0:03:03
Octane          R10000    1     225     1MB      6.5.30m      3         1    0:03:09
O2              R12000    1     300     1MB      6.5.30m      3         1    0:03:18
Octane          R10000    1     195     1MB      6.5.30m      3         1    0:03:29
O2              R12000    1     270     2MB      6.5.30m      3         1    0:03:38
Indigo2         R10000    1     195     1MB      6.5.22m      3         1    0:03:39
O2              R10000    1     250     1MB      6.5.30m      3         1    0:03:46
Octane          R10000    1     175     1MB      6.5.30m      3         1    0:03:55
Indigo2         R10000    1     175     1MB      6.5.22m      3         1    0:03:58
O2              R5200     1     300     1MB      6.5.30m      3         1    0:04:18
O2              R10000    1     195     1MB      6.5.30m      3         1    0:04:23
O2              R10000    1     175     1MB      6.5.30m      3         1    0:05:19
O2              R5000SC   1     200     1MB      6.5.30m      3         1    0:05:48
O2              R10000    1     150     1MB      6.5.30m      3         1    0:06:02
Onyx            R4400SC   4     200     4MB      6.5.22m      3         9    0:06:25    Disk connected via SE bus (10MB/sec)
Indigo2         R4400SC   1     250     2MB      6.5.22m      3         1    0:06:41
O2              R5000SC   1     180    512K      6.5.30m      3         1    0:06:47
Indy            R5000SC   1     180    512K      6.5.22m      3         1    0:07:20
Indigo2         R4400SC   1     200     2MB      6.5.22m      3         1    0:07:39
Indy            R5000SC   1     150    512K      6.5.22m      3         1    0:07:54
Indy            R4400SC   1     200     1MB      6.5.22m      3         1    0:08:21
Indigo2         R4400SC   1     200     1MB      6.5.22m      3         1    0:08:31
IRIS Indigo     R4400SC   1     150     1MB      6.5.22m      3         1    0:10:41
Indy            R4400SC   1     150     1MB      6.5.22m      3         1    0:10:43
Indy            R5000PC   1     150       -      6.5.22m      3         1    0:10:46
Indy            R4600SC   1     133    512K      6.5.22m      3         1    0:10:49
Indigo2         R4400SC   1     150     1MB      6.5.22m      3         1    0:11:09
O2              R5000PC   1     180       -      6.5.30m      3         1    0:11:18
IRIS Indigo     R3000     1      33       -      5.3          5         1    0:16:10    Fascinating. :D
Indy            R4600PC   1     133       -      6.5.22m      3         1    0:17:04
IRIS Indigo     R4000SC   1     100     1MB      6.5.22m      3         1    0:17:17
Indy            R4000SC   1     100     1MB      6.5.22m      3         1    0:17:49
Indy            R4600PC   1     100       -      6.5.22m      3         1    0:17:59
Personal IRIS   R2000     1      12       -      5.3          6         7    1:01:47    IP6 motherboard.

If you want to perform this test yourself, download the archive and then follow these instructions:

As root, decompress and untar the archive into /var/tmp, then cd to the lynxtest directory and execute the RUN scripts one at a time, ie.:

  gunzip lynxtest.tar.gz
  tar xvf lynxtest.tar
  cd lynxtest
  ./RUN1
  ./RUN2
  ./RUN2

Each script will display the required time to submit at the end of the test. If you send me results for your own system, please include a full description of the system, ie. 'hinv -vm' output, and the results of the following three commands so that I can tell which versions of the compilers were used and what model disk the tests are being run with:

  cc -version
  gcc --version
  scsicontrol -i /dev/scsi/sc0d1l0

The above assumes the system disk is on controller 0, ID 1. If this is not the case (eg. R10K/R12K O2 use SCSI ID 2) then adjust the scsicontrol command accordingly.

In early testing I found that the old 7.3 MIPS Pro compiler is much faster, enough to make an R12K/400 Octane using 7.4.4 complete a compilation about as fast as an R12K/300 Octane does with 7.3. Of course it may be that 7.4.4 is producing better binaries, in which case final code execution speed may be better, but this test isn't about that. In time I may include a separate test using one specific system to show how compilation speed varies based on compiler version.

Grud knows why the R3K Indigo is so comparatively fast.

Lastly, note that O2 systems may be slightly faster when operating with lower display resolutions and/or bit depths.