-
Notifications
You must be signed in to change notification settings - Fork 145
Relative Compile Performance of clasp
Karsten Poeck edited this page Feb 13, 2022
·
13 revisions
In the following table one can find compiler performance of clasp for some tasks compared with ecl, sbcl and clozurecl
Date | Version | asdf | cl-jpeg | ironclad | clx | babel | cl-unicode | flexi-streams | opticl | mcclim | total |
---|---|---|---|---|---|---|---|---|---|---|---|
2002-02-13 | 1195e54d7 | 93.95 | 42.60 | 523.68 | 597.14 | 92.49 | 295.30 | 121.14 | 193.13 | 763.79 | 2723.22 |
2002-02-13 | ECL 21.2.1 | 26.42 | 108.71 | 339.59 | 183.74 | 18.90 | 104.89 | 59.60 | 127.55 | 311.71 | 1281.11 |
2002-02-13 | SBCL 2.2.1 | 3.16 | 1.04 | 40.58 | 8.84 | 2.11 | 2.70 | 3.08 | 11.12 | 21.02 | 93.65 |
2002-02-13 | ccl 1.12.dev | 3.49 | 0.78 | 17.99 | 6.60 | 1.59 | 4.27 | 2.19 | 8.33 | 21.39 | 66.64 |
Note that e.g. :mcclim depends on :clx and :cl-jpeg, so that order of timings is important
Commands used (fresh start after each compile in this order):
(time (compile-file "source-dir:src;lisp;modules;asdf;build;asdf.lisp"))
(time (ql:quickload :cl-jpeg))
(time (ql:quickload :ironclad))
(time (ql:quickload :clx))
(time (ql:quickload :babel))
(time (ql:quickload :cl-unicode))
(time (ql:quickload :flexi-streams))
(time (ql:quickload :opticl))
(time (ql:quickload :mcclim))
To reproduce:
- Sources in https://gitlab.common-lisp.net/kpoeck/cl-bench.git, branch feature-clasp-clbench
- Execute
(load "load-cl-bench.lisp")
- Remember that tests are done with default optimization settings!
Benchmarked on: x86_64 Darwin Kernel Version 18.7.0: Tue Nov 10 00:07:31 PST 2020; root:xnu-4903.278.51~1/RELEASE_X86_64 karsten-poecks-macbook-pro.local
Benchmark | Best | Clozure Common Lisp Version 1.12 (v1.12-dev.3-125-g595a5cf4) DarwinX8664 | ECL 20.4.24-develop | SBCL 2.0.11 | clasp cclasp-boehm-0.4.2-3458-ga7a2855e3-cst | clasp cclasp-boehm-0.4.2-3593a-gcf622f75c-cst | clasp cclasp-boehm-0.4.2-3630-ge045444b6-cst-a |
---|---|---|---|---|---|---|---|
Date | 20201121T0942 | 20201230T0742 | 20201227T0956 | 20201129T1008 | 20201227T1609 | 20210119T2209 | |
COMPILER | 0,76 | 0,82 | 1,54 | 0,76 | 18,14 | 15,43 | 14,11 |
LOAD-FASL | 0,07 | 0,11 | 0,14 | 0,07 | 2,59 | 2,36 | 2,55 |
SUM-PERMUTATIONS | 0,21 | 1,51 | 2,12 | 0,21 | 2,59 | 2,51 | 3,10 |
WALK-LIST/SEQ | 0,01 | 0,01 | 0,01 | 0,01 | 0,02 | 0,02 | 0,02 |
WALK-LIST/MESS | 0,02 | 0,02 | 0,35 | 0,02 | |||
BOYER | 0,19 | 0,83 | 0,63 | 0,19 | 1,03 | 0,96 | 1,00 |
BROWSE | 0,11 | 0,30 | 0,26 | 0,11 | 0,75 | 0,49 | 0,49 |
DDERIV | 0,11 | 0,24 | 0,59 | 0,11 | 2,00 | 1,82 | 1,86 |
DERIV | 0,12 | 0,25 | 0,61 | 0,12 | 2,20 | 2,02 | 2,07 |
DESTRUCTIVE | 0,10 | 0,24 | 0,41 | 0,10 | 0,63 | 0,61 | 0,61 |
DIV2-TEST-1 | 0,18 | 0,38 | 0,75 | 0,18 | 2,10 | 2,07 | 2,07 |
DIV2-TEST-2 | 0,25 | 0,51 | 1,05 | 0,25 | 2,44 | 2,51 | 2,40 |
FFT | 0,02 | 0,06 | 1,53 | 0,02 | 0,72 | 0,69 | 0,72 |
FRPOLY/FIXNUM | 0,14 | 0,33 | 1,20 | 0,14 | 0,83 | 0,80 | 0,82 |
FRPOLY/BIGNUM | 0,13 | 0,51 | 0,41 | 0,13 | 0,69 | 0,68 | 0,76 |
FRPOLY/FLOAT | 0,25 | 0,57 | 1,28 | 0,25 | 0,88 | 0,83 | 0,84 |
PUZZLE | 0,16 | 0,42 | 2,63 | 0,16 | 3,60 | 3,85 | 3,50 |
TAK | 0,09 | 0,09 | 0,93 | 0,14 | 0,97 | 1,13 | 0,93 |
CTAK | 0,21 | 0,32 | 1,43 | 0,21 | |||
TRTAK | 0,07 | 0,07 | 0,89 | 0,14 | 0,98 | 0,92 | 0,93 |
TAKL | 0,25 | 0,25 | 0,70 | 0,35 | 0,61 | 0,51 | 0,42 |
STAK | 0,17 | 0,51 | 1,47 | 0,17 | |||
FPRINT/UGLY | 0,38 | 1,97 | 0,90 | 0,38 | 3,25 | 2,85 | 2,90 |
FPRINT/PRETTY | 0,61 | 2,03 | 10,15 | 0,61 | 21,52 | 21,17 | 19,73 |
TRAVERSE | 0,59 | 0,76 | 2,04 | 0,59 | 3,04 | 2,86 | 2,70 |
TRIANGLE | 0,42 | 0,56 | 1,77 | 0,42 | 3,93 | 3,45 | 3,70 |
RICHARDS | 0,37 | 0,87 | 4,06 | 0,37 | 5,37 | 5,03 | 5,21 |
FACTORIAL | 0,07 | 0,12 | 0,13 | 0,07 | 0,39 | 0,40 | 0,41 |
FIB | 0,04 | 0,04 | 1,84 | 0,11 | 0,47 | 0,48 | 0,45 |
FIB-RATIO | 0,02 | 0,03 | 0,05 | 0,02 | 0,08 | 0,07 | 0,07 |
ACKERMANN | 0,64 | 0,64 | 4,25 | 2,12 | 7,57 | 7,68 | 7,13 |
MANDELBROT/COMPLEX | 0,15 | 0,27 | 0,22 | 0,15 | 2,43 | 2,49 | 2,53 |
MANDELBROT/DFLOAT | 0,00 | 0,03 | 0,81 | 0,00 | 2,26 | 2,39 | 2,11 |
MRG32K3A | 0,39 | 4,11 | 1,30 | 0,39 | 8,16 | 8,87 | 7,76 |
CRC40 | 0,28 | 1,20 | 8,61 | 0,28 | 5,12 | 5,49 | 5,18 |
BIGNUM/ELEM-100-1000 | 0,03 | 0,56 | 0,03 | 0,03 | 0,04 | 0,03 | 0,04 |
BIGNUM/ELEM-1000-100 | 0,02 | 3,33 | 0,02 | 0,05 | 0,03 | 0,02 | 0,02 |
BIGNUM/ELEM-10000-1 | 0,02 | 3,52 | 0,02 | 0,03 | 0,02 | 0,02 | 0,02 |
BIGNUM/PARI-100-10 | 0,00 | 0,34 | 0,00 | 0,01 | 0,00 | 0,00 | 0,00 |
BIGNUM/PARI-200-5 | 0,01 | 9,56 | 0,01 | 0,02 | 0,01 | 0,01 | 0,01 |
PI-DECIMAL/SMALL | 0,28 | 1,23 | 1,18 | 0,28 | 0,98 | 1,02 | 0,96 |
PI-DECIMAL/BIG | 0,13 | 1,40 | 0,79 | 0,13 | 0,65 | 0,73 | 0,67 |
PI-ATAN | 0,27 | 1,33 | 0,27 | 0,45 | 0,48 | 0,62 | 0,51 |
PI-RATIOS | 0,40 | 3,68 | 0,40 | 0,60 | |||
HASH-STRINGS | 0,10 | 2,64 | 0,44 | 0,10 | 0,42 | 0,48 | 0,43 |
HASH-INTEGERS | 0,12 | 1,25 | 0,57 | 0,12 | 0,36 | 0,37 | 0,33 |
SLURP-LINES | 1,00 | 10,83 | 8,00 | 1,00 | 10,34 | 11,11 | 10,64 |
BOEHM-GC | 0,56 | 4,95 | 3,89 | 0,56 | 18,00 | 16,97 | 16,93 |
DEFLATE-FILE | 0,08 | 0,16 | 1,59 | 0,08 | 0,96 | 0,87 | 0,87 |
1D-ARRAYS | 0,02 | 0,02 | 0,22 | 0,02 | 0,21 | 0,19 | 0,19 |
2D-ARRAYS | 0,20 | 0,66 | 4,53 | 0,20 | 5,45 | 5,38 | 5,45 |
3D-ARRAYS | 0,47 | 1,43 | 9,11 | 0,47 | 11,02 | 11,39 | 11,69 |
BITVECTORS | 0,14 | 0,27 | 1,95 | 0,18 | 0,15 | 0,14 | 0,15 |
BENCH-STRINGS | 0,28 | 0,79 | 2,72 | 0,97 | 0,29 | 0,33 | 0,28 |
fill-strings/adjustable | 1,90 | 11,97 | 1,95 | 1,90 | 9,34 | 9,56 | 8,99 |
STRING-CONCAT | 15,25 | 17,88 | 26,15 | 15,25 | 45,00 | 44,44 | 41,09 |
SEARCH-SEQUENCE | 0,48 | 1,22 | 2,08 | 0,48 | 5,50 | 6,11 | 5,70 |
CLOS/defclass | 0,17 | 0,18 | 0,25 | 0,17 | 2,00 | 2,03 | 1,78 |
CLOS/defmethod | 0,10 | 0,10 | 0,26 | 0,92 | 4,15 | 3,72 | 3,27 |
CLOS/instantiate | 0,36 | 2,09 | 5,00 | 0,36 | 4,23 | 4,12 | 3,92 |
CLOS/simple-instantiate | 0,05 | 3,69 | 13,64 | 0,05 | 1,80 | 1,51 | 1,93 |
CLOS/methodcalls | 1,50 | 1,50 | 2,12 | 2,70 | 2,89 | 2,90 | 3,12 |
CLOS/method+after | 0,53 | 0,94 | 1,65 | 0,53 | 12,95 | 4,20 | 3,83 |
CLOS/complex-methods | 0,41 | 0,54 | 0,78 | 0,41 | 0,98 | 1,05 | 0,94 |
EQL-SPECIALIZED-FIB | 0,07 | 0,36 | 2,08 | 0,07 | 43,42 | 0,42 | 0,42 |