-
Notifications
You must be signed in to change notification settings - Fork 145
Relative Compile Performance of clasp
Karsten Poeck edited this page Nov 21, 2020
·
13 revisions
In the following table one can find relative performance of clasp for some tasks:
Timings for version "cclasp-boehm-0.4.2-3434-g3f70b6373-cst"
on macosx 10.14.6 (mojave)
CLASP_BUILD_MODE = 'faso'
USE_COMPILE_FILE_PARALLEL=False
Compile Task (real) | clasp(s) | ccl(s) | ecl(s) | sbcl(s) | factor clasp/sbcl | factor clasp/ecl | factor ecl/sbcl |
---|---|---|---|---|---|---|---|
cl-bench compiler | 39.00 | 0.82 | 1.32 | 0.72 | 54.17 | 29.55 | 1,83 |
asdf | |||||||
cl-jpeg | |||||||
ironclad | |||||||
clx | |||||||
mcclim |
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 :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 optimisation settings!
Benchmarked on: x86_64 Darwin Kernel Version 18.7.0: Fri Oct 30 12:37:06 PDT 2020; root:xnu-4903.278.44.0.2~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 | SBCL 2.0.9.131-e70fbb9f9 | clasp cclasp-boehm-0.4.2-3434-g3f70b6373-cst |
---|---|---|---|---|---|
Date | 20201121T0942 | 20201121T0938 | 20201121T0937 | 20201121T1514 | |
COMPILER | 0,72 | 0,82 | 1,32 | 0,72 | 39,01 |
LOAD-FASL | 0,06 | 0,11 | 0,13 | 0,06 | 1,03 |
SUM-PERMUTATIONS | 0,20 | 1,51 | 2,07 | 0,20 | 2,98 |
WALK-LIST/SEQ | 0,01 | 0,01 | 0,01 | 0,01 | 0,02 |
WALK-LIST/MESS | 0,02 | 0,02 | 0,35 | 0,02 | |
BOYER | 0,17 | 0,83 | 0,63 | 0,17 | 1,10 |
BROWSE | 0,11 | 0,30 | 0,28 | 0,11 | 0,52 |
DDERIV | 0,11 | 0,24 | 0,57 | 0,11 | 1,78 |
DERIV | 0,11 | 0,25 | 0,64 | 0,11 | 1,99 |
DESTRUCTIVE | 0,09 | 0,24 | 0,41 | 0,09 | 0,63 |
/Users/karstenpoeck/lisp/fork-cl-bench/output/report.markdown | |||||
DIV2-TEST-1 | 0,18 | 0,38 | 0,73 | 0,18 | 1,93 |
DIV2-TEST-2 | 0,25 | 0,51 | 1,04 | 0,25 | 2,38 |
FFT | 0,01 | 0,06 | 1,43 | 0,01 | 0,78 |
FRPOLY/FIXNUM | 0,13 | 0,33 | 1,08 | 0,13 | 0,93 |
FRPOLY/BIGNUM | 0,13 | 0,51 | 0,39 | 0,13 | 0,73 |
FRPOLY/FLOAT | 0,24 | 0,57 | 1,20 | 0,24 | 0,88 |
PUZZLE | 0,13 | 0,42 | 2,38 | 0,13 | 5,17 |
TAK | 0,09 | 0,09 | 0,86 | 0,14 | 1,03 |
CTAK | 0,21 | 0,32 | 1,24 | 0,21 | |
TRTAK | 0,07 | 0,07 | 0,86 | 0,14 | 0,99 |
TAKL | 0,25 | 0,25 | 0,66 | 0,35 | 0,63 |
STAK | 0,16 | 0,51 | 1,33 | 0,16 | |
FPRINT/UGLY | 0,39 | 1,97 | 0,95 | 0,39 | 2,69 |
FPRINT/PRETTY | 0,59 | 2,03 | 9,01 | 0,59 | 21,86 |
TRAVERSE | 0,54 | 0,76 | 1,87 | 0,54 | 2,67 |
TRIANGLE | 0,41 | 0,56 | 1,59 | 0,41 | 3,62 |
RICHARDS | 0,36 | 0,87 | 3,72 | 0,36 | 4,92 |
FACTORIAL | 0,07 | 0,12 | 0,14 | 0,07 | 0,34 |
FIB | 0,04 | 0,04 | 1,74 | 0,11 | 0,46 |
FIB-RATIO | 0,02 | 0,03 | 0,05 | 0,02 | 0,07 |
ACKERMANN | 0,64 | 0,64 | 3,85 | 2,03 | 7,46 |
MANDELBROT/COMPLEX | 0,15 | 0,27 | 0,21 | 0,15 | 2,42 |
MANDELBROT/DFLOAT | 0,01 | 0,03 | 0,74 | 0,01 | 2,09 |
MRG32K3A | 0,39 | 4,11 | 1,18 | 0,39 | 7,31 |
CRC40 | 0,27 | 1,20 | 8,30 | 0,27 | 4,86 |
BIGNUM/ELEM-100-1000 | 0,02 | 0,56 | 0,02 | 0,04 | 0,03 |
BIGNUM/ELEM-1000-100 | 0,02 | 3,33 | 0,02 | 0,06 | 0,02 |
BIGNUM/ELEM-10000-1 | 0,02 | 3,52 | 0,02 | 0,03 | 0,02 |
BIGNUM/PARI-100-10 | 0,00 | 0,34 | 0,00 | 0,01 | 0,00 |
BIGNUM/PARI-200-5 | 0,01 | 9,56 | 0,01 | 0,02 | 0,01 |
PI-DECIMAL/SMALL | 0,27 | 1,23 | 1,11 | 0,27 | 0,97 |
PI-DECIMAL/BIG | 0,12 | 1,40 | 0,75 | 0,12 | 0,66 |
PI-ATAN | 0,25 | 1,33 | 0,25 | 0,44 | 0,44 |
PI-RATIOS | 0,36 | 3,68 | 0,36 | 0,58 | |
HASH-STRINGS | 0,10 | 2,64 | 0,40 | 0,10 | 0,42 |
HASH-INTEGERS | 0,12 | 1,25 | 0,52 | 0,12 | 0,35 |
SLURP-LINES | 0,99 | 10,83 | 7,28 | 0,99 | 10,02 |
BOEHM-GC | 0,54 | 4,95 | 4,40 | 0,54 | 15,09 |
DEFLATE-FILE | 0,09 | 0,16 | 1,36 | 0,09 | 0,95 |
1D-ARRAYS | 0,02 | 0,02 | 0,16 | 0,02 | 0,21 |
2D-ARRAYS | 0,20 | 0,66 | 4,22 | 0,20 | 4,99 |
3D-ARRAYS | 0,48 | 1,43 | 9,05 | 0,48 | 10,67 |
BITVECTORS | 0,13 | 0,27 | 1,95 | 0,17 | 0,13 |
BENCH-STRINGS | 0,32 | 0,79 | 2,69 | 0,88 | 0,32 |
fill-strings/adjustable | 1,74 | 11,97 | 1,94 | 1,74 | 8,33 |
STRING-CONCAT | 15,43 | 17,88 | 25,19 | 15,43 | 37,64 |
SEARCH-SEQUENCE | 0,45 | 1,22 | 1,53 | 0,45 | 5,09 |
CLOS/defclass | 0,15 | 0,18 | 0,21 | 0,15 | 1,71 |
CLOS/defmethod | 0,10 | 0,10 | 0,18 | 0,99 | 3,90 |
CLOS/instantiate | 0,34 | 2,09 | 4,78 | 0,34 | 3,67 |
CLOS/simple-instantiate | 0,05 | 3,69 | 12,52 | 0,05 | 1,61 |
CLOS/methodcalls | 1,50 | 1,50 | 2,08 | 2,70 | 2,53 |
CLOS/method+after | 0,50 | 0,94 | 1,56 | 0,50 | 11,65 |
CLOS/complex-methods | 0,49 | 0,54 | 0,87 | 0,49 | 0,78 |
EQL-SPECIALIZED-FIB | 0,08 | 0,36 | 2,11 | 0,08 | 39,77 |