[Openmcl-devel] Performance benchmark results

Christophe Rhodes csr21 at cam.ac.uk
Tue Apr 23 07:32:59 UTC 2002

On Mon, Apr 22, 2002 at 07:53:00PM -0600, Gary Byers wrote:
> This is certainly interesting; thanks for doing this.
> A few of these numbers don't look right to me (sadly, a few others
> look All Too Right.)  I wasn't quite sure what was going on at first;
> as brilliant and clever as sbcl/ppc's backend is, it's a little hard
> to believe that FACTORIAL should be more than 3x faster than OpenMCL's
> (OpenMCL stoleuses the same bignum representation as CMUCL/
> SBCL, and OpenMCL's bignumXfixnum multiply routine is written in
> assembler and not obviously inefficient.)

Heh. We on the sbcl side were unsure where to send congratulations and
comiserations, since you had a large part to play in both
implementations ;-)

> I find it surprising that a bytecoded implementation is often over an
> order of magnitude faster than either of the native implementations on
> most of the BIGNUM/* benchmarks; I suspect some mixture of Black Magic,
> clever algorithms, and (possibly) a little excessive zeal on the part
> of CLISP's compiler.  (It seemed that some calls to "side-effect-free"
> arithmetic functions were getting optimized out because their results
> weren't used.)  I may have been mistaken about the excessive zeal or
> may have misinterpreted the disassembled bytecode I looked at; I'll
> try to look again when I'm more awake.  Whether that's a factor or not,
> I'm sure that there's room for improvement in both OpenMCL and SBCL.

Indeed. My understanding wrt clisp's bignum performance is that it uses
a C bignum library (CLN?) for most of the hard work, so it's only
byte-compiling function calls for the arithmetic.


Jesus College, Cambridge, CB5 8BL                           +44 1223 510 299
http://www-jcsu.jesus.cam.ac.uk/~csr21/                  (defun pling-dollar 
(str schar arg) (first (last +))) (make-dispatch-macro-character #\! t)
(set-dispatch-macro-character #\! #\$ #'pling-dollar)

Openmcl-devel mailing list
Openmcl-devel at clozure.com

More information about the Openmcl-devel mailing list