I used the cl-bench from this gitlab, copied it into my directory of local quicklisp systems, and then did with each of the lisps:
(ql:quickload 'cl-bench) (cl-bench:bench-run)(sbcl errored with an undefined
sb-ext:*intexp-maximum-exponent*
so I commented that out in cl-bench.lisp
.)
The benchmarks results are dumped in the output/
subdir of the source checkout.
Afterwards, do the following to generate the report:
(ql:quickload 'cl-bench/report) (cl-bench::bench-analysis-page)The numbers below are (user) times in seconds, i.e. lower is better.
Relevant(ish) reddit discussion.
X86-64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz meepmbp17.local
ECL 16.1.3 | SBCL 1.4.8 | Clozure Common Lisp Version 1.11.5 (DarwinX8664) | |
---|---|---|---|
COMPILER | 2.945 | 0.55 | 0.471324 |
LOAD-FASL | 0.104 | 0.045 | 0.067024 |
SUM-PERMUTATIONS | 0.504 | 0.165 | 1.141025 |
WALK-LIST/SEQ | 0.007 | 0.006 | 0.009834 |
WALK-LIST/MESS | 0.025 | 0.011 | 0.006723 |
BOYER | 0.512 | 0.126 | 0.64409 |
BROWSE | 0.216 | 0.083 | 0.199512 |
DDERIV | 0.482 | 0.071 | 0.166496 |
DERIV | 0.539 | 0.075 | 0.192311 |
DESTRUCTIVE | 0.294 | 0.073 | 0.14917 |
DIV2-TEST-1 | 0.698 | 0.121 | 0.286032 |
DIV2-TEST-2 | 0.824 | 0.173 | 0.361542 |
FFT | 0.3 | 0.013 | 0.039021 |
FRPOLY/FIXNUM | 0.447 | 0.1 | 0.222805 |
FRPOLY/BIGNUM | 0.238 | 0.088 | 0.357345 |
FRPOLY/FLOAT | 0.523 | 0.156 | 0.302594 |
PUZZLE | 1.186 | 0.092 | 0.247184 |
TAK | 0.586 | 0.091 | 0.051722 |
CTAK | 0.82 | 0.093 | 0.16136 |
TRTAK | 0.566 | 0.095 | 0.050147 |
TAKL | 0.391 | 0.189 | 0.116975 |
STAK | 0.531 | 0.116 | 0.284844 |
FPRINT/UGLY | 1.522 | 0.363 | 0.87897 |
FPRINT/PRETTY | 4.434 | 0.538 | 0.920791 |
TRAVERSE | 1.349 | 0.444 | 0.511379 |
TRIANGLE | 1.154 | 0.332 | 0.364642 |
RICHARDS | 2.578 | 0.188 | 0.724553 |
FACTORIAL | 0.177 | 0.046 | 0.071622 |
FIB | 0.219 | 0.081 | 0.034191 |
FIB-RATIO | 0.022 | 0.013 | 0.016589 |
ACKERMANN | 2.013 | 0.983 | 0.378161 |
MANDELBROT/COMPLEX | 0.346 | 0.096 | 0.191514 |
MANDELBROT/DFLOAT | 0.361 | 0.004 | 0.020837 |
MRG32K3A | 1.163 | 0.231 | 2.838254 |
CRC40 | 2.27 | 0.247 | 0.729875 |
BIGNUM/ELEM-100-1000 | 0.011 | 0.025 | 0.313159 |
BIGNUM/ELEM-1000-100 | 0.013 | 0.046 | 1.933848 |
BIGNUM/ELEM-10000-1 | 0.014 | 0.022 | 1.990624 |
BIGNUM/PARI-100-10 | 0.001 | 0.007 | 0.188592 |
BIGNUM/PARI-200-5 | 0.004 | 0.022 | 5.192173 |
PI-DECIMAL/SMALL | 0.937 | 0.212 | 0.756334 |
PI-DECIMAL/BIG | 0.662 | 0.089 | 0.878078 |
PI-ATAN | 0.291 | 0.335 | 0.842362 |
PI-RATIOS | 0.294 | 0.424 | 2.091395 |
HASH-STRINGS | 0.262 | 0.076 | 1.56017 |
HASH-INTEGERS | 0.4 | 0.136 | 0.770672 |
SLURP-LINES | 6.279 | 1.188 | 9.424359 |
BOEHM-GC | 2.815 | 0.337 | 3.972685 |
DEFLATE-FILE | 0.614 | 0.069 | 0.117997 |
1D-ARRAYS | 0.052 | 0.015 | 0.010818 |
2D-ARRAYS | 0.718 | 0.145 | 0.354254 |
3D-ARRAYS | 1.496 | 0.387 | 0.755815 |
BITVECTORS | 1.361 | 0.105 | 0.187197 |
BENCH-STRINGS | 1.364 | 0.655 | 0.412568 |
fill-strings/adjustable | 1.586 | 1.403 | 8.66913 |
STRING-CONCAT | 17.012 | 11.167 | 10.361159 |
SEARCH-SEQUENCE | 0.808 | 0.354 | 0.871464 |
CLOS/defclass | 0.231 | 0.098 | 0.087483 |
CLOS/defmethod | 0.21 | 0.541 | 0.063365 |
CLOS/instantiate | 2.444 | 0.264 | 0.926385 |
CLOS/simple-instantiate | 7.232 | 0.042 | 1.388562 |
CLOS/methodcalls | 0.727 | 1.822 | 0.74125 |
CLOS/method+after | 0.821 | 0.246 | 0.492152 |
CLOS/complex-methods | 0.311 | 0.341 | 0.186797 |
EQL-SPECIALIZED-FIB | 0.671 | 0.06 | 0.21373 |