154 lines
8.5 KiB
Plaintext
154 lines
8.5 KiB
Plaintext
|
||
|
||
GABRIEL BENCHMARKS 20 Nov. '85
|
||
|
||
|
||
|
||
Timing under Intermezzo and Koto, plus published results.
|
||
(I-Intermezzo, K-Koto, P-published in "Performance and Evaluation of LISP Systems", Richard Gabriel, MIT Press, 1985)
|
||
|
||
|
||
Benchmark K-1108(1.5M) I-1108(1.5M) P-1108
|
||
cpu gc cpu gc cpu gc
|
||
Tak 1.99 0 1.9 0 1.67 0
|
||
Stak 4.92 0 4.92 0 4.66 0
|
||
Ctak 59.7 0 60.9 0 63.2 0
|
||
Takl 14.1 0 14.1 0 14.0 0
|
||
Takr 1.99 0 1.99 0 1.75 0
|
||
Boyer 98.8 41.6 57.5 30 74.6 44.4
|
||
Browse NIL NIL NIL NIL 174 126
|
||
Destructive 20.7 6.63 20.3 5.3 17.6 9.27
|
||
Traverse(init) 84.7 1.35 84.2 1.25 48.0 1.16
|
||
Traverse(run) 163 0 163 0 181 0
|
||
Deriv 33.7 44.3 34.3 30.9 23.9 52.2
|
||
D-Deriv 43.9 55.0 44.7 38.2 33.3 59.5
|
||
Div2(iter.) 10.8 22.8 12.1 12.7 23.8 8.5
|
||
Div2(recurse) 15.2 23.4 12.9 13.5 24.8 8.5
|
||
FFT* 888 220 NIL NIL 44.2 10.10
|
||
Puzzle 128 0 NIL NIL 50.2 0
|
||
Triangle 2400 .48 NIL NIL 856 .46
|
||
Fprint 9.6 .39 9.91 .3 13.7 .4
|
||
Fread 7.94 .262 6.75 .186 8.0 .13
|
||
Tprint** 27.9 0 28.1 0 34.0 0
|
||
Poly(2) .523 0 NIL NIL NIL NIL
|
||
Poly(5) 13.6 3.74 NIL NIL NIL NIL
|
||
Poly(10) 410 135 NIL NIL NIL NIL
|
||
POLY(15) 7520 2470 NIL NIL NIL NIL
|
||
|
||
|
||
|
||
Benchmark K-1109 I-1109 K-1186(3.5M) P-1108
|
||
cpu gc cpu gc cpu gc cpu gc
|
||
Tak 1.71 0 1.7 0 1.69 0 1.67 0
|
||
Stak 4.72 0 4.71 0 4.36 0 4.66 0
|
||
Ctak 59.7 0 61.1 0 55.1 0 63.2 0
|
||
Takl 14.2 0 14.1 0 12.6 0 14.0 0
|
||
Takr 1.8 0 1.8 0 1.77 0 1.75 0
|
||
Boyer 69.8 46.9 80.8 34.2 63.4 36.7 74.6 44.4
|
||
Browse 237 179 NIL NIL NIL NIL 174 126
|
||
Destructive 15.0 7.9 14.5 6.1 12.8 6.02 17.6 9.27
|
||
Traverse(init) 98.0 1.78 81.9 1.41 73.2 1.2 48.0 1.16
|
||
Traverse(run) 161 0 163 0 144 0 181 0
|
||
Deriv 31.9 53.7 27 33.9 21.9 39.6 23.9 52.2
|
||
D-Deriv 42.7 63 37.6 40.5 31.8 48.3 33.3 59.5
|
||
Div2(iter.) 14.4 26.6 12.6 13.4 9.51 20.7 23.8 8.5
|
||
Div2(recurse) 15.3 27.5 18.0 14.3 12.6 21.1 24.8 8.5
|
||
FFT* 117 194 NIL NIL 660 165 44.2 10.10
|
||
Puzzle 62.1 0 NIL NIL 114 0 50.2 0
|
||
Triangle 1060 .61 NIL NIL 2170 .435 856 .46
|
||
Fprint 10.6 .5 NIL NIL 9.12 .342 13.7 .4
|
||
Fread 5.62 0 NIL NIL 5.59 .26 8.0 .13
|
||
Tprint** 28.8 0 27.5 0 22.8 0 34.0 0
|
||
Poly(2) .382 0 .139 0 .463 0 NIL NIL
|
||
Poly(5) 9.8 4.2 2.12 1.62 11.5 3.83 NIL NIL
|
||
Poly(10) 287 132 14.3 10.5 350 118 NIL NIL
|
||
Poly(15) 5190 2420 65.9 37 6380 2110 NIL NIL
|
||
|
||
|
||
|
||
|
||
Benchmark K-1132 I-1132 P-1132
|
||
cpu gc cpu gc cpu gc
|
||
Tak .525 0 .525 0 .52 0
|
||
Stak 1.9 0 1.9 0 1.89 0
|
||
Ctak 18.2 0 18.7 18.7 18.0 0
|
||
Takl 3.84 0 3.84 0 3.62 0
|
||
Takr .69 0 .711 0 .67 0
|
||
Boyer 22.1 20.1 18.2 14.9 17.1 13.2
|
||
Browse 78.2 50.2 NIL NIL 52.5 41.9
|
||
Destructive 3.87 3.24 3.59 3.24 3.77 3.41
|
||
Traverse(init) 23.2 .684 22.5 .61 20.5 0.49
|
||
Traverse(run) 59.0 0 57.8 0 63.9 0
|
||
Deriv 9.57 18.9 9.95 19.5 15.7 6.8
|
||
D-Deriv 12.2 21.0 12.7 21.4 17.7 6.8
|
||
Div2(iter.) 3.54 8.83 4.25 9.63 3.43 8.54
|
||
Div2(recurse) 5.04 8.79 4.79 9.77 4.08 8.66
|
||
FFT* 192 65.2 NIL NIL 1.57 3.03
|
||
Puzzle 19.6 0 NIL NIL 14.0 0
|
||
Triangle 343 .231 NIL NI 252 .21
|
||
Fprint 2.32 0 2.02 0 2.93 0
|
||
Fread 1.53 0 1.21 0 1.57 0
|
||
Tprint** 6.5 0 6.25 0 5.5 0
|
||
Poly(2) .124 0 .045 0 NIL NIL
|
||
Poly(5) 2.98 1.11 .6 .723 NIL NIL
|
||
Poly(10) 85.9 40.5 3.96 3.97 NIL NIL
|
||
Poly(15) 1530 713 20.1 15.2 NIL NIL
|
||
|
||
* Although the published benchmark indicates 10 evaluations of FFT, the disparity between my figures and those published suggests that the published figures reflect a single evaluation. The FFT uses fast AREF's, but no unboxed or other floating point tricks.
|
||
|
||
** TPRINT benchmark modified so as to start at the top of a window instead of the bottom for K and I benchmarks.
|
||
|
||
General comments:
|
||
|
||
The vast disparity between Koto and Intermezzo measurements for the Polynomial benchmark reflects the presence or absence of BIGNUMS. The Polynomial benchmark requires BIGNUMS to be done correctly -- the Intermezzo results are not strictly valid.
|
||
|
||
The AREF'y benchmarks (Puzzle, Triangle, and FFT) are as a whole slower than published results due to the reimplementation of CMLARRAY,which has safer and slower fast accessor and setters than Jonl's implementation. It is also interesting to note the 1186 does worse than expected on these benchmarks. Missing microcode?
|
||
|
||
The results are mixed for the Cons'y benchmarks (Boyer, Browse, Deriv, D-Deriv, and Div2). I think it is fair to say that garbage collect time has gone up. It hard to get reliable results here since GC time varies greatly.
|
||
|
||
The strange case of Browse. I was unable to reproduce published results for the Browse benchmark. I have checked the code several times -- I am running code virtually identical to that found in {phylum}<gabriel>*. So what's the story here?
|
||
|
||
The 1186 comes out between 17% to 50% faster on these benchmarks.
|
||
|
||
|
||
For comparison I now include published results for a few other machines:
|
||
|
||
3600 - Symbolics 3600, lambda - LMI lambda, PSL-SUN - Portable Standard LISP on a SUN.
|
||
(Published in "Performance and Evaluation of LISP Systems", Richard Gabriel, MIT Press, 1985)
|
||
|
||
Benchmark P-3600 P-lambda P-PSL-SUN
|
||
cpu page cpu page cpu gc
|
||
Tak .6 0 1.6 0 1.44 0
|
||
Stak 2.58 0 5.35 0 16.1 0
|
||
Ctak 7.65 0 4.39 0 10.1 0
|
||
Takl 6.44 0 10.7 0 9.91 0
|
||
Takr .6 0 1.8 0 1.42 0
|
||
Boyer 12 2.93 31.7 7.2 31.3 15
|
||
Browse 30.8 3.13 29.2 10.3 61.9 16.8
|
||
Destructive 3.03 .43 4.0 1.1 7.46 0
|
||
Traverse(init) 8.62 .33 18.7 1.2 30.1 0
|
||
Traverse(run) 50.0 0 139 0 125 0
|
||
Deriv 5.12 1.4 6.4 3.7 13.8 4.0
|
||
D-Deriv 5.24 1.51 7.10 4.1 15.7 4.0
|
||
Div2(iter.) 1.85 1.04 3.8 3.6 7.0 0
|
||
Div2(recurse) 2.89 1.03 5.6 3.5 6.42 0
|
||
FFT* 4.75 .01 15.9 .07 139 27.89
|
||
Puzzle 13.9 0 28.8 .5 26.3 0
|
||
Triangle 152 .06 510 .3 353 0
|
||
Fprint 2.6 .1 16.6 11.2 5.13 0
|
||
Fread 4.6 0 19.7 .54 7.7 0
|
||
Tprint 4.9 0 7.2 .61 3.58 0
|
||
Poly(2)** NIL NIL NIL NIL NIL NIL
|
||
Poly(5) .29 .04 .41 .11 2.67 0
|
||
Poly(10) 3.93 .42 5.1 1.35 44.8 0
|
||
Poly(15) 29.6 3.59 37.7 9.25 NIL NIL
|
||
|
||
* As above
|
||
|
||
** Poly figures not directly accessable, formed by summation.
|
||
|
||
Full Benchmark transcripts, Benchmark code and this document available in the directory
|
||
{qv}<pedersen>benchmarks>*
|
||
|
||
|
||
|