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 |