Annotation of 43BSDReno/sys/nfs/TEST/unix-tests/general/nroff.in, revision 1.1

1.1     ! root        1: .DA
        !             2: .ds RF Company Confidential
        !             3: .ds LF Sun Microsystems
        !             4: .nr PS 12
        !             5: .nr VS 14
        !             6: .ps 12
        !             7: .vs 14
        !             8: .TL
        !             9: Fortran Benchmarks from General Electric
        !            10: .AU
        !            11: Evan Adams
        !            12: .LP
        !            13: Walter Sawka from the New York office sent a memo
        !            14: on June 21, 1983 detailing fortran performance.
        !            15: It included the source and results to three fortran
        !            16: benchmarks.
        !            17: .LP
        !            18: I ran the benchmarks on the following configurations:
        !            19: .TS
        !            20: center;
        !            21: l l l l.
        !            22: CPU    Unix    Fortran Memory
        !            23: .sp 4p
        !            24: Sun 1  Version 7       SVS     1 Meg
        !            25: Sun 1.5        Sun 0.4 Berkeley        2 Meg
        !            26: Sun 2  Sun 0.3 Berkeley        2 Meg
        !            27: Sun 2  Sun 0.3 Berkeley/Optimizer      2 Meg
        !            28: VAX 750        4.1cBSD Berkeley/Optimizer      4 Meg
        !            29: .TE
        !            30: .LP
        !            31: The benchmarks are:
        !            32: .IP 1)
        !            33: Matrix inversion of double precision values.
        !            34: .IP 2)
        !            35: A bubble sort of integers.
        !            36: .IP 3)
        !            37: A prime number generator.
        !            38: .LP
        !            39: .TS
        !            40: center;
        !            41:  c|c|c s|c s|
        !            42:  c|c|c s|c s|
        !            43:  c|c|c s|c s|
        !            44:  c|c|c s|c s|
        !            45: |l|n|n|n|n|n|.
        !            46:        _       _       _       _       _
        !            47: .sp 4p
        !            48:        Matrix Inversion        Bubble Sort     Prime Numbers
        !            49: .sp 4p
        !            50:        _       _       _       _       _
        !            51: .sp 4p
        !            52:        Dimension       Number of Elements      Highest N
        !            53: .sp 4p
        !            54: _      _       _       _       _       _
        !            55: .sp 4p
        !            56: Configuration  50      1000    2000    10000   50000
        !            57: .sp 4p
        !            58: =
        !            59: .sp 3p
        !            60: Version 7      91.7    23.1    88.9    24.3    180.1
        !            61: .sp 3p
        !            62: _
        !            63: .sp 3p
        !            64: Sun 1.5        74.9    29.0    112.7   49.0/28.5\(dg   290.3/188.6\(dg
        !            65: .sp 3p
        !            66: _
        !            67: .sp 3p
        !            68: Sun 2  60.5    22.8    88.0    39.1/22.7\(dg   231.4/150.6\(dg
        !            69: .sp 3p
        !            70: _
        !            71: .sp 3p
        !            72: Sun 2 (OPT)    55.9    15.8    59.9    38.3/22.7\(dg   227.6/150.6\(dg
        !            73: .sp 3p
        !            74: _
        !            75: .sp 3p
        !            76: Apollo 68000   61      30      122     19      164
        !            77: .sp 3p
        !            78: _
        !            79: .sp 3p
        !            80: Apollo DN300   51      25      94      16      130
        !            81: .sp 3p
        !            82: _
        !            83: .sp 3p
        !            84: Apollo (PE)    28      22      88      14      127
        !            85: .sp 3p
        !            86: _
        !            87: .sp 3p
        !            88: VAX (OPT)      19.3    12.1    46.4    14.5    87.2
        !            89: .sp 3p
        !            90: _
        !            91: .TE
        !            92: .LP
        !            93: \(dg using a single precision square root function
        !            94: .LP
        !            95: All times are in seconds.
        !            96: The times for the Apollo machines are from Walt's memo.
        !            97: His memo claims the times are elapsed (wall clock) time.
        !            98: This seems silly since most of the programs prompt for some information.
        !            99: The times for V7 and 4.2 are user time as given by the /bin/time command.
        !           100: The Apollo is a 68000 at 10Mhz,
        !           101: the Apollo DN300 is a 68010 at 10MHz, and
        !           102: the Apollo (PE) is a 68000 at 10Mhz with the performance enhancement option.
        !           103: .LP
        !           104: The Apollo numbers for the prime number generator 
        !           105: with a highest N of 10000 look suspect.
        !           106: I find it difficult to believe that the Apollo (PE)
        !           107: beat the VAX in this benchmark while it was
        !           108: consistently beaten badly in the other benchmarks.
        !           109: .LP
        !           110: Berkeley fortran fared poorly in the prime number generator.
        !           111: This program makes many calls to the square root function.
        !           112: The square root function is part of the math library and is written
        !           113: in C.
        !           114: To take the square root of a single precision number
        !           115: it is converted to doubled precision and passed to sqrt().
        !           116: A double precision square root is calculated and returned where
        !           117: it is promptly converted to single precision.
        !           118: Approximately 75% of the execution time was spent in sqrt() and its
        !           119: descendants.
        !           120: .LP
        !           121: I wrote a single precision sqrt() routine in 
        !           122: fortran and the prime number generator ran 43% faster on 
        !           123: the Sun 2.
        !           124: .LP
        !           125: The fortran optimizer mainly improves array references within 
        !           126: inner loops.
        !           127: The bubble sort improves by 30%; the prime number generator
        !           128: does not change at all.
        !           129: .LP
        !           130: It should also be noted that the system times on the 4.2 systems were
        !           131: 2 to 7 times greater than the system times for the version 7 system.
        !           132: On version 7, the system time averaged 2.4% of the user time.
        !           133: On the Sun 2, the system time averaged 8.2% of the user time.
        !           134: .SH
        !           135: Conclusions
        !           136: .LP
        !           137: The same object code ran on the Sun 1.5 and the Sun 2.
        !           138: The Sun 2 execution times averaged 20.6% less than the Sun 1.5.
        !           139: There was speculation that the Sun 2 performance would improve
        !           140: by as much as 30% as compared to Sun 1.5.
        !           141: Some people may be disappointed by these numbers.
        !           142: .LP
        !           143: The Sun 2 with the fortran optimizer beats the best Apollo
        !           144: time by 28% for the sorting program.
        !           145: I believe that the Apollo performance enhancement option includes
        !           146: hardware floating point.
        !           147: Still, the Sun 2 is 9% slower than the Apollo DN300 on the matrix
        !           148: inversion program and a factor of two slower on the prime number
        !           149: generator.
        !           150: Taking into account the double precision/single precision problem
        !           151: for the prime number generator, the Sun 2 is 13% slower
        !           152: than the Apollo DN300.
        !           153: .LP
        !           154: The fortran optimizer is still in a developement stage and
        !           155: is not very reliable yet.
        !           156: It is not ready for release!
        !           157: .SH
        !           158: Future
        !           159: .LP
        !           160: The benchmark numbers give us a reflection of where
        !           161: we are at today.
        !           162: The ultimate goal is
        !           163: .IP 1)
        !           164: A Sun 2 CPU,
        !           165: .IP 2)
        !           166: Unix 4.2BSD (not 4.1c),
        !           167: .IP 3)
        !           168: the SKY floating point board,
        !           169: .IP 4)
        !           170: the fortran optimizer,
        !           171: .IP 5)
        !           172: a single precision and double precision math library, and
        !           173: .IP 6)
        !           174: an improved fortran I/O library.
        !           175: .LP
        !           176: Development is in progress for everything but the libraries.
        !           177: It is conjecture, but with each of these components in place
        !           178: we should beat Apollo consistently. 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.