[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