« Multi-threading with SBCL | Main | Units package »

SBCL's Surprise

Since working on a AllegroCL-compatible REPL (read-eval-print-loop) for SBCL, I've been spending more time with SBCL. SBCL has focused on their source-code portability and understandability rather than performance optimizations. That's all nice, though benchmarks in SBCL have often underperformed other CL implementations.

I've finished a new set of benchmarks with UMLisp and the latest version of hyperobject. This version of hyperobject adds processing of slot options and also uses more features from the Art of the Metaobject Protocol. Hyperobject has an improved print architecture that is much faster and as well as more flexible and extensible. I've revised my benchmark program so results are not directly comparable to previous published benchmarks. I've also tested Scieneer Common Lisp (SCL) which hyperobject fully supports.

The win for SBCL in this benchmark is huge. It'll be interesting to investigate why this is.

ImplLoad (user/total)Print (user/total)
AllegroCL 6.28.3/13.85.5/5.7
CMUCL 18d+6.3/123.6/5
Lispworks 4.27.0/123.5/4
SBCL 0.pre8.581.8/6.41.8/1.9
SCL 1.1.14.7/10.24.5/4.8

Comments (2)

Paul Dietz:

Which versions of SBCL and CMUCL were those?

Good question, Paul.

I'll update the table with all of the versions.

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

About

This page contains a single entry from the blog posted on April 12, 2003 7:06 PM.

The previous post in this blog was Multi-threading with SBCL.

The next post in this blog is Units package.

Many more can be found on the main index page or by looking through the archives.

Creative Commons License
This weblog is licensed under a Creative Commons License.