Re: Reasons to choose CLISP over other free implementations
- From: Juho Snellman <jsnell@xxxxxx>
- Date: 29 Nov 2007 14:46:20 +0200
Javier <javuchi@xxxxxxxxx> writes:
Well, in my experience, and with this graphs:
http://sbcl.boinkor.net/bench/
Here you can see that CLISP is still about 2x faster than SBCL
compiling things, and not only compiling, but a lot of other useful
stuff, like defining CLOSS classes and instantiating them, and
printing strings (useful for web serving).
You are to some extent misinterpreting the results by implying that
the names of the tests say exactly what is being tested. For example
the CLOS/instantiate test actually tests the speed of the rather rare
(make-instance variable) while CLOS/simple-instantiate tests
(make-instance 'constant), a vastly more common case.
Or for a couple of more neutral examples:
* The methodcall benchmark does some arithmetic inside the methods that
the benchmark defines, to ensure that clever CLOS implementations can't
optimize the dispatch away completely. When run with the default
parameters, some of that arithmetic quickly overflows into bignums.
Somebody looking at the name of the test might think that it's
testing mainly the speed of method dispatch, but if the method
dispatch is quick enough (as in SBCL), it actually becomes as much
a bignum benchmark as a method dispatch one! This effect is
prominent enough that when Christophe Rhodes wrote a paper on
automatic classification the cl-bench benchmarks based on the
results, CLOS/methodcall fell into the same cluster with the tests
that were explicitly benchmarking bignums.
* In the SEARCH-SEQUENCE benchmark SBCL does the actual searching quickly
enough that more time is spent initializing the array with a loop like
(dotimes (i (length arrays) (setf (aref array i)) (mod i 1000))) than
doing the actual search. So the test isn't really benchmarking SEARCH,
it's benchmarking MOD on two fixnums.
I also don't really understand where on that page you're seeing
anything that suggests clisp is 2x faster at printing strings.
Of course, SBCL is much faster for fixnum and float operations.
And here you are grossly misrepresenting the results, by implying that
SBCL is only faster than clisp for benchmarks that test fixnum/float
performance.
Consider CLISP for web, string manipulation, and CLOS. It is a very
capable Lisp distribution for these areas.
I wouldn't advise people to make decisions on what implementation to
use based just on benchmark numbers, without understanding what the
benchmarks are actually doing, and thinking about how those benchmarks
relate to their own use. For example, I expect that people interested
in CLOS performance would care a lot more about method call
performance than the speed of defining classes...
--
Juho Snellman
.
- Follow-Ups:
- References:
- Reasons to choose CLISP over other free implementations
- From: Javier
- Re: Reasons to choose CLISP over other free implementations
- From: Geoff Wozniak
- Re: Reasons to choose CLISP over other free implementations
- From: Javier
- Reasons to choose CLISP over other free implementations
- Prev by Date: Re: Reasons to choose CLISP over other free implementations
- Next by Date: Re: Reasons to choose CLISP over other free implementations
- Previous by thread: Re: Reasons to choose CLISP over other free implementations
- Next by thread: Re: Reasons to choose CLISP over other free implementations
- Index(es):
Relevant Pages
|