[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Performance of CLISP



Joachim Schue <schue@ira.uka.de> asks:

> Are there any results of a comparison between CLISP and
> Lucid Lisp (Performance, ...) ?

Results from Timing the Benchmarks in
Richard P. Gabriel: Performance and Evaluation of Lisp Systems

Systems:

4 = CLISP (Version February 1992, gcc2 -O2) on (SUN Sparcstation 2, 16MB),
    measured Run Time (< Real Time !)
5 = CLISP (Version July 1992, gcc2 -O) on (486/33MHz, 8MB, Linux),
    measured Run Time (< Real Time !)
6 = Lucid Common Lisp on SUN-4 (SUN Sparcstation 2, 16MB),
    measured Total Run Time (< Elapsed Real Time !)
7 = Lucid Common Lisp on SUN-4c (SUN Sparcstation 1 IPC, 8MB),
    measured Total Run Time (< Elapsed Real Time !)

c = compiled
m = compiled to machine code

Times in seconds

                4c      5c      6c      7m
                       
TAK             0.83    1.33    0.10    0.09
TAKr            1.60    1.67    0.11    0.11
STAK            1.57    2.77    0.92    0.94
CTAK            3.27    1.99    0.34    0.52
TAKL            3.90    6.47    1.82    0.41
BOYER          17.65   16.14    4.13    7.71
BROWSE         14.18   17.75    5.12    4.85
DESTRU          1.65    3.24    0.48    0.45
TRAVERSinit    13.54   24.08    3.11    2.27
TRAVERSrun     99.26   80.99   10.11    5.43
DERIV           2.61    3.21    0.68    1.95
DDERIV          3.26    3.59    0.79    2.31
DIV2iter        1.18    1.60    0.33    1.49
DIV2recur       2.30    2.13    1.23    3.14
FFT             9.96   18.54    6.73    0.46
PUZZLE         15.31   29.88    5.36    1.16
TRIANGLE      291.84  521.18   42.91   14.74
FPRINT          0.21    0.31    0.14    2.24
FREAD           0.23    0.37    0.18    0.61
TPRINT          2.32    0.53    0.10   [8.71]  [] with *PRINT-PRETTY* = T
POLY_I_2        0.00    0.00    0.01    0.01
POLY_B_2        0.01    0.01    0.01    0.00
POLY_F_2        0.01    0.01    0.00    0.01
POLY_I_5        0.08    0.08    0.02    0.02
POLY_B_5        0.08    0.10    0.04    1.24
POLY_F_5        0.08    0.09    0.02    0.02
POLY_I_10       0.82    0.97    0.18    0.12
POLY_B_10       1.02    1.15    0.41    0.58
POLY_F_10       0.94    1.01    0.29    1.33
POLY_I_15       5.71    6.79    1.20    0.82
POLY_B_15       8.03    9.10    3.58    5.65
POLY_F_15       6.21    7.19    1.86    2.75


I measured these myself, 4 in April 1992, 5 in July 1992, 6,7 in March 1991.


Conclusions:
* CLISP is approximately as fast on a Sun Sparc 2 as on a 486 (33 MHz).
* Lucid Lisp is always faster than CLISP. This is because Lucid Lisp
  compiles to native machine code and makes use of the special "tagged"
  SPARC instructions.

Other Notes:
* This measured only pure Run Time, not Real Time (also called Elapsed Time).
  Real Time includes time for swapping and page faults. Since compiled
  CLISP code tends to be much smaller than compiled Lucid Lisp code this
  should affect Lucid more than CLISP.
* This measured only the speed of compiled code. Development speed also
  depends on the speed of interpreted code and on the compiler's speed.
  I recall that Lucid's machine code compiler (7m above) is not very fast.



                    Bruno Haible
                    haible@ma2s2.mathematik.uni-karlsruhe.de