SGI Performance Comparisons

Movie Data Converstion Test 1

Last Change: 01/Apr/2023, 1113hrs

Huge Update! Most Results Redone!

Time to convert 11.4 seconds of half-size-PAL MJPEG-A video (22MB file, no audio track) to different compression schemes with mediaconvert/dmconvert.

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), all older systems with 6.5.22m, all newer systems with 6.5.30m, 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. Note that I couldn't get the ST336753LC to work in Onyx, had to use the ST3300655LC instead.

For the conversion to uncompressed video (the first results column), the type of disk used and the SCSI bus performance will make a difference (contrast the R5000SC/180 O2 to the R4K/250 Indigo2, compare to their MPEG results). Also notice the much better results for the Photo JPEG test running on O2 systems - this is because the ICE chip is used to hardware-accelerate the processing, so even a low-spec O2 is very good for JPEG video (assuming compatible settings), but will suffer if converting to other formats.

Though these tests only utilise one CPU, I've included the CPU count anyway. Older results done with just a stopwatch and MediaConvert are those without sub-second timings (I will update these later using dmconvert when I can, which will take a while since at present I do not have any Fuels faster than 600MHz). Eventually I want to have all the main results completed using the same model disk if possible. The table is arranged in order of MPEG performance.

               CPU     No.           L2/L3       IRIX     NONE    Anim RLE   Ph.JPEG     Indeo     Cinepak     MPEG     Disk
System         Type    CPUs   MHz    Cache     Version   m:ss.ss   m:ss.ss   m:ss.ss   m:ss.ss    mm:ss.ss   mm:ss.ss   Type   NOTES

Tezro         R16000    4    1000    16MB      6.5.26m   0:05.59   0:07.76   0:11.40   0:13.70    00:32.54   00:59.69    1
Fuel          R16000    1     900     8MB      6.5.26m   0:06.10   0:08.39   0:12.56   0:15.10    00:35.97   01:06.57    1
Fuel          R16000    1     800     4MB      6.5.26m   0:06.89   0:09.70   0:14.33   0:17.53    00:40.95   01:15.98    1
Origin350     R16000    4     700     4MB      6.5.26m   0:07.33   0:11.03   0:16.13   0:19.82    00:46.37   01:25.74    2
Tezro         R16000    4     700     4MB      6.5.26m   0:07      0:11      0:16      0:20       00:46      01:26       ?
Fuel          R16000    1     700     4MB      6.5.26m   0:07      0:12      0:17      0:20       00:47      01:26       ?
Fuel          R14000    1     600     4MB      6.5.26m   0:08.87   0:12.68   0:18.94   0:23.18    00:54.36   01:40.54    1
Origin300     R14000    2     600     4MB      6.5.30m   0:08.86   0:12.70   0:17.72   0:23.36    00:54.38   01:43.54    3
Octane        R14000    2     600     2MB      6.5.30m   0:09.58   0:13.98   0:18.51   0:24.50    00:55.39   01:46.15    3
Fuel          R14000    1     500     2MB      6.5.26m   0:11      0:17      0:25      0:30       01:09      02:08       ?
Octane        R12000    2     400     2MB      6.5.30m   0:13.56   0:20.07   0:27.36   0:35.70    01:22.16   02:37.31    3
Octane        R12000    1     400     2MB      6.5.30m   0:13.81   0:20.53   0:27.82   0:36.45    01:23.37   02:38.94    3
O2            R7000     1     600   256K/1MB   6.5.30m   0:17.76   0:24.04   0:15.80   0:41.36    01:26.05   02:44.34    3
Octane        R12000    2     350     1MB      6.5.26m   0:15.75   0:23.43   0:33.43   0:40.67    01:34.26   02:54.03    1     CPU mod; cache divisor 1.5.
O2            R12000    1     400     2MB      6.5.30m   0:16.50   0:23.22   0:16.19   0:39.90    01:25.41   02:55.50    3
Octane        R12000    1     360     2MB      6.5.30m   0:15.04   0:22.49   0:30.61   0:40.08    01:32.37   02:55.82    3
Octane        R12000    2     350     1MB      6.5.26m   0:15.94   0:23.32   0:31.72   0:41.59    01:35.24   03:01.59    1     CPU mod; cache divisor 2.0.
Octane        R12000    1     300     2MB      6.5.30m   0:17.99   0:26.95   0:36.86   0:48.04    01:50.77   03:31.02    3
O2            R12000    1     300     1MB      6.5.30m   0:19.69   0:29.73   0:17.35   0:52.18    01:55.74   03:48.97    3
Onyx2         R10000    4     250     4MB      6.5.26m   0:20      0:31      0:45      0:57       02:12      03:53       ?
Octane        R12000    1     270     2MB      6.5.30m   0:20.01   0:29.93   0:40.83   0:53.46    02:03.24   03:54.56    3
Octane        R10000    1     250     2MB      6.5.30m   0:22.23   0:32.93   0:45.47   0:58.95    02:14.84   04:01.55    3     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   0:23.01   0:33.69   0:46.18   0:59.53    02:16.20   04:04.09    3
O2            R12000    1     270     1MB      6.5.30m   0:20.63   0:31.61   0:17.79   0:56.49    02:07.63   04:12.88    3
O2            R7000     1     350   256K/1MB   6.5.30m   0:18.87   0:28.19   0:15.61   0:56.25    02:13.83   04:15.36    3
O2            R10000    1     250     1MB      6.5.30m   0:20.09   0:31.99   0:17.46   0:59.22    02:15.36   04:16.08    3
O2            R12000    1     250     1MB      6.5.26m   0:18.79   0:30.25   0:16.63   0:56.44    02:11.62   04:16.41    1     CPU mod; 300 core from Octane into a 250 module, but the clock is still at 250.
Octane        R10000    1     225     1MB      6.5.30m   0:25.49   0:37.40   0:51.35   1:06.21    02:31.31   04:31.33    3
O2            R10000    1     195     1MB      6.5.30m   0:20.95   0:35.78   0:17.82   1:09.78    02:40.35   05:10.00    3
Indigo2       R10000    1     195     1MB      6.5.22m   0:34.96   0:49.04   1:07.62   1:22.79    03:12.51   05:20.66    3
Octane        R10000    1     195     1MB      6.5.30m   0:30.43   0:45.29   1:01.40   1:20.35    02:56.84   05:21.59    3
Origin200     R10000    2     180     1MB      6.5.26m   0:30      0:46      1:04      1:20       03:01      05:27       ?
Indigo2       R10000    1     175     1MB      6.5.22m   0:37.32   0:52.92   1:14.13   1:30.62    03:32.79   05:54.41    3
Octane        R10000    1     175     1MB      6.5.30m   0:34.17   0:50.89   1:08.87   1:30.08    03:18.50   06:02.47    3
O2            R10000    1     175     1MB      6.5.30m   0:29.25   0:46.60   0:23.86   1:25.43    03:08.11   06:02.74    3
O2            R10000    1     150     1MB      6.5.30m   0:30.37   0:50.47   0:25.21   1:35.65    03:35.35   06:56.40    3
O2            R5200     1     300     1MB      6.5.30m   0:19.98   0:34.21   0:16.35   1:19.35    03:09.65   07:01.65    3
Indigo2       R4400SC   1     250     2MB      6.5.22m   0:54.87   1:20.22   1:57.63   2:39.88    05:39.61   09:59.59    3
O2            R5000SC   1     200     1MB      6.5.30m   0:21.62   0:42.28   0:16.78   1:48.91    04:34.30   10:15.85    3
Onyx          R4400SC   4     250     4MB      6.5.22m   0:45.82   1:09.22   1:45.45   2:26.67    05:20.66   10:51.99    1
O2            R5000SC   1     180    512K      6.5.30m   0:24.27   0:48.24   0:18.49   2:03.49    05:09.59   11:35.11    3
O2            R5000SC   1     200     1MB      6.3       0:27      0:56      0:16      2:47       08:15      11:41       ?
Onyx          R4400SC   4     200     4MB      6.5.22m   0:56.21   1:26.93   2:10.03   3:01.91    06:36.70   11:50.74    6     Disk connected via 10MB/sec SE bus.
Indy          R5000SC   1     180    512K      6.5.22m   1:07.86   1:31.88   2:08.77   2:46.84    06:26.74   12:09.91    3
Indigo2       R4400SC   1     200     2MB      6.5.22m   1:05.47   1:36.87   2:22.17   3:13.36    06:59.61   12:16.21    3
Indy          R4400SC   1     200     1MB      6.5.22m   1:07.93   1:39.87   2:32.65   3:17.74    07:03.71   12:24.48    3
Indigo2       R4400SC   1     200     1MB      6.5.22m   1:10.13   1:43.58   2:30.30   3:30.09    07:15.36   12:44.70    3
O2            R5000PC   1     180       -      6.5.30m   0:28.64   0:52.94   0:23.00   2:23.44    05:52.36   12:51.65    3
Indy          R5000SC   1     150    512K      6.5.22m   1:14.94   1:43.44   2:28.57   3:10.33    07:32.52   14:17.16    3
Indy          R5000PC   1     150       -      6.5.22m   1:18.13   1:46.78   2:35.09   3:21.18    07:55.55   14:45.93    3
Indy          R4400SC   1     150     1MB      6.5.22m   1:27.50   2:10.71   3:13.71   4:23.84    09:24.10   16:37.63    3
IRIS Indigo   R4400SC   1     150     1MB      6.5.22m   1:30.99   2:10.20   3:23.19   4:18.95    09:36.60   16:39.24    3
Indigo2       R4400SC   1     150     1MB      6.5.22m   1:27.23   2:30.96   3:14.53   4:24.18    09:45.63   16:48.94    3
Indy          R4600SC   1     133    512K      6.5.22m   1:30.89   2:06.82   3:03.22   4:05.51    08:50.93   17:22.62    3
Indy          R4600PC   1     133       -      6.5.22m   1:39.24   2:15.82   3:25.26   4:31.92    09:47.41   18:47.40    3
Indy          R4600PC   1     100       -      6.5.22m   1:57.23   2:46.46   4:14.31   5:38.30    12:20.32   23:51.11    3
IRIS Indigo   R4000SC   1     100     1MB      6.5.22m   2:17.83   3:19.63   5:00.77   6:39.86    15:06.75   25:20.88    3
Indy          R4000SC   1     100     1MB      6.5.22m   2:13.57   3:19.35   5:01.01   6:43.88    15:12.21   25:39.38    3

                                    Table 8

Disk Refs:

[1] Seagate 1" ST336704LCV 36GB 10K SCA
[2] COMPAQ 1" BD1468A4B5 146GB 10K SCA
[3] Seagate 36GB 15K BF03685A35 (ST336753LC)
[4] Fujitsu MAS3367NC 36GB 15K (Worldisk MX03367SC800600S)
[5] Fujitsu MAX3036NC 36GB 15K (Worldisk MX03036SC800600X)
[6] Seagate ST3300655LC 300GB 15K


Systems which have no graphics head are accessed remotely from another SGI (I use an O2 via 100Mbit link), the exception being the old 180MHz Origin200 result which was done via remote display of MediaConvert (I'll redo this when I can).

The commands used for each compression scheme are as follows:

NONE:    timex dmconvert -vf qt -p video,rate=25,size=368x288,comp=none,squal=0.95,tqual=0.75 movie1.mov outfile.mov
RLE:     timex dmconvert -vf qt -p video,rate=25,size=368x288,comp=qt_anim,squal=0.75,tqual=0.75 movie1.mov outfile.mov
JPEG:    timex dmconvert -vf qt -p video,rate=25,size=368x288,comp=jpeg,squal=0.75,tqual=0.75 movie1.mov outfile.mov
INDEO:   timex dmconvert -vf qt -p video,rate=25,size=368x288,comp=indeo,squal=0.75,tqual=0.75 movie1.mov outfile.mov
CINEPAK: timex dmconvert -vf qt -p video,rate=25,size=368x288,comp=qt_cvid,squal=0.75,tqual=0.75 movie1.mov outfile.mov
MPEG-1:  timex dmconvert -vf mpeg1v,brate=1158000 -p video,rate=25,size=368x288 movie1.mov outfile.mpv

I checked with 'cmp' to make sure these commands output exactly the same movies as created by MediaConvert (they do).

Here is the script I use (including the 2nd main test), for those who wish to run these tests on their own system:

#!/bin/sh
echo Movie Data Conversion Tests, Last Change: 05/Aug/2009. Pausing 10 seconds...
sleep 10 && timex dmconvert -vf qt -p video,rate=25,size=368x288,comp=none,squal=0.95,tqual=0.75 movie1.mov outfile.mov
echo Above result is for Movie Test 1, COMP = NONE
echo
/bin/rm outfile.mov
sleep 10 && timex dmconvert -vf qt -p video,rate=25,size=368x288,comp=qt_anim,squal=0.75,tqual=0.75 movie1.mov outfile.mov
echo Above result is for Movie Test 1, COMP = ANIM RLE
echo
/bin/rm outfile.mov
sleep 10 && timex dmconvert -vf qt -p video,rate=25,size=368x288,comp=jpeg,squal=0.75,tqual=0.75 movie1.mov outfile.mov
echo Above result is for Movie Test 1, COMP = JPEG
echo
/bin/rm outfile.mov
sleep 10 && timex dmconvert -vf qt -p video,rate=25,size=368x288,comp=indeo,squal=0.75,tqual=0.75 movie1.mov outfile.mov
echo Above result is for Movie Test 1, COMP = INDEO
echo
/bin/rm outfile.mov
sleep 10 && timex dmconvert -vf qt -p video,rate=25,size=368x288,comp=qt_cvid,squal=0.75,tqual=0.75 movie1.mov outfile.mov
echo Above result is for Movie Test 1, COMP = CINEPAK
echo
/bin/rm outfile.mov
sleep 10 && timex dmconvert -vf mpeg1v,brate=1158000 -p video,rate=25,size=368x288 movie1.mov outfile.mpv
echo Above result is for Movie Test 1, COMP = MPEG
echo
/bin/rm outfile.mpv
sleep 10 && timex dmconvert -vf qt -p video,rate=25,size=184x144,comp=qt_mjpega,il=odd,engine=sw,squal=0.95,tqual=0.75 movie1.mov outfile.mov
echo Above result is for Movie Test 2, COMP = MJPEGA
echo
/bin/rm outfile.mov

Prior to running these tests, I shut down mediad and SGI Apache to reduce background noise.

One might ask why these tests are not using a full size/rate video clip. Apart from taking at least four times longer to run (I do have a life, hehe), all I can say is that if you really need to convert such video clips to other formats then use a PC instead (it works well with Handbrake); I know one could use Linux, but I'm content with Windows and Handbrake, my own systems currently being a 5GHz i7 2700K and a 4.5GHz i7 4960X (hopefully soon replaced with a Ryzen 4700X and later a 4950X). The data presented here is to enable the comparison of one SGI to another, not to suggest whether actually using an SGI for this kind of task is a good idea. It's fun using an SGI for video capture and a degree of editing (eg. Cosmo/Cosmo2 are really good at coping with noisy signals from VHS sources), but for real world workloads (especially HD or above), it makes sense to use a modern PC (for most SD capture tasks I use a simple USB dongle), ie. use whatever works best for your own needs. What does intrigue me is whether it would ever be possible to write a version of dmconvert or something like it which could exploit multiple CPUs, but that's beyond my knowledge.

In the future just out of curiosity I might try the tests using a QLA12160 card in Octane via PCI cage to see if that makes any difference (I suspect probably not).

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

Feedback on this page is most welcome!