[Ecls-list] ECL shootout

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Tue Jun 30 21:47:39 UTC 2009


The following are the results on my laptop for ECL (compiled,
Reference) and two other sets. When there is not a big difference
between the reference and ECLi that is because we are using too high
level functions and the compiler was not able to optimize well. This
is the case, for instance, of FFT, where the lack of declarations
prevent the compiler from noticing that there is an array of floats,
etc, etc.

Juanjo

Benchmark                 Reference  CLISP  ECLi   SBCL
-------------------------------------------------------------------------------------
COMPILER                 [      1.57]   1.04   0.98   0.87
LOAD-FASL                [      0.15]   4.16   0.96   1.69
SUM-PERMUTATIONS         [NIL       ]  -1.00  -1.00  -1.00
WALK-LIST/SEQ            [      0.06]   0.20   4.09   0.19
WALK-LIST/MESS           [      0.10]   1.53  13.19   0.26
BOYER                    [      7.19]   5.27   0.92   0.37
BROWSE                   [      0.60]   2.74   0.77   0.41
DDERIV                   [      1.04]   2.20   0.62   0.21
DERIV                    [      1.05]   2.40   0.63   0.22
DESTRUCTIVE              [      0.55]   3.10   1.00   0.38
DIV2-TEST-1              [      1.67]   2.07   0.47   0.17
DIV2-TEST-2              [      1.99]   2.18   0.62   0.20
FFT                      [      1.12]   3.64   1.00   0.04
FRPOLY/FIXNUM            [      0.80]   5.03   1.00   0.31
FRPOLY/BIGNUM            [      0.68]   2.99   0.69   0.43
FRPOLY/FLOAT             [      0.96]   4.71   0.80   0.38
PUZZLE                   [      2.34]   3.86   1.00   0.10
TAK                      [      0.46]   7.90   1.01   0.49
CTAK                     [      2.06]   1.99   0.99   0.12
TRTAK                    [      0.46]   7.84   1.00   0.49
TAKL                     [      0.33]  14.86   1.00   1.07
STAK                     [      0.51]   6.44   0.97   0.89
FPRINT/UGLY              [      2.25]   0.67   1.00   0.38
FPRINT/PRETTY            [     31.32]   0.08   0.95   0.06
TRAVERSE                 [      0.92]   8.62   0.97   0.53
TRIANGLE                 [      2.94]   5.51   1.00   0.15
RICHARDS                 [      0.80]  13.68  19.95   0.65
FACTORIAL                [      0.64]   1.98   0.60   0.35
FIB                      [      0.63]   3.63   7.32   0.36
FIB-RATIO                [      0.12]   0.48   1.17   0.32
ACKERMANN                [      2.10]   2.29   6.89   0.32
MANDELBROT/COMPLEX       [      1.13]   1.78   1.06   0.34
MANDELBROT/DFLOAT        [      1.62]   1.01   0.70   0.01
MRG32K3A                 [      3.68]   7.02   1.93   0.18
CRC40                    [     66.24]   1.52   1.60   0.15
BIGNUM/ELEM-100-1000     [      0.06]   0.78   1.03   2.43
BIGNUM/ELEM-1000-100     [      0.10]   1.25   1.01   3.40
BIGNUM/ELEM-10000-1      [      0.10]   1.12   1.01   3.63
BIGNUM/PARI-100-10       [      0.01]   2.72   1.25   3.12
BIGNUM/PARI-200-5        [      0.04]   2.20   1.09   2.51
PI-DECIMAL/SMALL         [      3.57]   0.52   1.42   0.30
PI-DECIMAL/BIG           [      3.28]   0.35   1.54   0.30
PI-ATAN                  [      1.32]   1.62   0.51   0.71
PI-RATIOS                [      1.06]   0.74   1.16   1.46
HASH-STRINGS             [      0.60]   2.26   3.76   0.26
HASH-INTEGERS            [      0.77]   2.75   2.69   0.48
SLURP-LINES              [     12.48]   0.64   1.00   0.20
BOEHM-GC                 [      6.60]   2.02   2.91   0.13
DEFLATE-FILE             [      0.68]   5.15  11.28   0.44
1D-ARRAYS                [      0.20]   3.62   4.46   0.18
2D-ARRAYS                [      4.72]   4.40   9.26   0.08
3D-ARRAYS                [     26.59]   1.54   4.17   0.04
BITVECTORS               [      6.02]   0.97   0.92   0.13
BENCH-STRINGS            [      7.56]   2.47   0.98   0.07
fill-strings/adjustable  [     17.13]   1.85   2.48   0.39
STRING-CONCAT            [     13.44]   1.90   0.80   0.20
SEARCH-SEQUENCE          [      3.39]   2.53   2.35   0.04
CLOS/defclass            [      0.85]   0.64   0.65   1.10
CLOS/defmethod           [      0.58]   0.25   0.49   7.12
CLOS/instantiate         [    102.08]   0.03   0.96   0.05
CLOS/simple-instantiate  [     56.88]   0.04   0.94   0.00
CLOS/methodcalls         [      4.93]   0.97   0.73   0.20
CLOS/method+after        [      4.30]   0.66   0.77   0.63
EQL-SPECIALIZED-FIB      [      1.97]   0.65   1.58   0.10
Reference time in first column is in seconds; other columns are relative
Reference implementation: ECL 9.6.2
Impl CLISP: CLISP 2.45 (2008-04-04) (built on benasque2.local [192.168.1.103])
Impl ECLi : ECLi 9.6.2
Impl SBCL : SBCL 1.0.28
=== Test machine ===
   Machine-type: i386
   Machine-version: NIL


--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com




More information about the ecl-devel mailing list