Here is an example. Gerd Moellmann has been working on improving CMU CL's
PCL-based CLOS implementation for the past few months. He added new
features and tuned performance.
In a recent message to a CMUCL mailing list, Gerd also tells about an
experimental optimization that makes class slot access as fast as structure
slot access, i.e. an order of magnitude faster than normal CLOS slot
access.
A nice Christmas present. Kudos to Gerd for his work.
Paolo
--
EncyCMUCLopedia * Extensive collection of CMU Common Lisp documentation
http://www.paoloamoroso.it/ency/README
> Gerd also tells about an experimental optimization that makes class
> ^^^^^^^^^^^^
> slot access as fast as structure slot access, i.e. an order of
> magnitude faster than normal CLOS slot access.
Is it still experimental? Or has it been tested enough to know if it
works consistently, and bug-free?
Also, PCL can be used with Clisp, which hopefully means that this
optimization can benefit other Lisp implementations (hopefully).
dave
> Is it still experimental?
Yes. I might change user-visible aspects at the drop of a hat.
> Or has it been tested enough to know if it works consistently, and
> bug-free?
If you mean if I'm to hire for commercial support---yes :).
> Also, PCL can be used with Clisp, which hopefully means that this
> optimization can benefit other Lisp implementations (hopefully).
CMUCL's PCL has been non-portable for awhile, and so is my PCL which
started from CMUCL's. It would require a major effort to port it to
CLisp.
> Is it still experimental? Or has it been tested enough to know if it
> works consistently, and bug-free?
I guess it's still experimental. Gerd announced the code just a few days
ago. He also worked on other PCL performance improvements, currently
available as experimental binaries.
> Also, PCL can be used with Clisp, which hopefully means that this
> optimization can benefit other Lisp implementations (hopefully).
The version of PCL used by CMU CL has probably been heavily modified, and I
don't know how CMU CL-specific it is now. I seem to have heard that the
version of PCL for CLISP no longer compiles with recent versions of CLISP.