Re: Reasons to choose CLISP over other free implementations



Javier <javuchi@xxxxxxxxx> writes:
Basically, this depends on the kind of CLOS program you are doing. For
example, my program is doing millions of instantiations, and much less
method calls.

I will again point out that the common case of giving a constant class
name to MAKE-INSTANCE is much faster in SBCL:

(defclass a () ((x :initarg :x) (y :initarg :y) (z :initarg :z)))
(defun foo () (dotimes (i (expt 2 20)) (make-instance 'a :x 1 :y 2 :z 3)))
(compile 'foo)
(time (foo))

SBCL -> 0.089s
clisp -> 0.91s

And again, the case with an variable class name is much slower in
SBCL, but exactly the same speed in clisp. Maybe this is what you're
doing, and if so, clisp would be the faster choice for you. But it
seems pretty unreasonable for you to unconditionally claim that
instantiation of CLOS objects is slower in SBCL when the common case
is much faster.

(The code path for the non-constant cases of MAKE-INSTANCE is very
much unoptimized in SBCL. That it has not been optimized is probably
due to few people using that case in practice. At least I've never had
anyone report MAKE-INSTANCE with non-constant class or initarg names
as a bottleneck in their program before this.)

I wouldn't advise people to make decisions on what
implementation to not use, without understanding what the program of
everyone are actually doing. ;)

Luckily I didn't advise people on what implementations they should not
use. There are good reasons to use clisp. I'm just saying that the
benchmarks you're misinterpreting aren't such reasons.

--
Juho Snellman
.



Relevant Pages

  • Re: CLISP vs. CMUCL vs. SBCL
    ... > CMUCL: Good, fast compiler. ... What are the best points of CLISP other than portability? ... Between CMUCL and SBCL, how would one choose between these? ... > support CMUCL also seem to support SBCL, ...
    (comp.lang.lisp)
  • Re: Bootstrapping SBCL with CLISP on OS X 10.3.1
    ... > build it using CLISP from Darwin Ports. ... > sure what to fix or how to fix it. ... because while SBCL makes an effort to work in ANSI lisps, ... > compile from x86 Linux to PPC OS X? ...
    (comp.lang.lisp)
  • Bootstrapping SBCL with CLISP on OS X 10.3.1
    ... I have the CVS checkout of SBCL from a few hours ago. ... build it using CLISP from Darwin Ports. ... I used the 'sh make.sh clisp' command. ... I had an older version of SBCL but the upgrade to Panther broke it. ...
    (comp.lang.lisp)
  • Re: What open source implementation of Lisp do you prefer and why?
    ... I use it to develop lisp programs, ...  with clisp even more often). ... Slime and SBCL) and look forward to finally getting Lisp ... compiling it with sbcl gives more nitpicking errors or ...
    (comp.lang.lisp)
  • Re: more about DEFCLASS vs DEFSTRUCT
    ... I have prepared a battery of tests for the implementations: sbcl, ... ;;Allegro CL 8.1 Free Express Edition ... CLISP and Allegro doesn't make any difference at all. ... (defun check-struc-let-accessor (obj times) ...
    (comp.lang.lisp)