[armedbear-devel] CLOS optimizations

Erik Huelsmann ehuels at gmail.com
Sun Oct 11 21:10:32 UTC 2009

This weekend, I committed an optimization which shows 4 - 12%
performance gain on the CL-BENCH common lisp benchmarking toolset
tests for CLOS. However, the test collects performance results from a
high number of invocations. Low numbers of invocations should show
even better improvements.

Profiling one of the performance tests for CL-BENCH which shows huge
difference with CLISP, it turned out that our CHECK-INITARGS function
in the MOP package is taking 40% of the object instantiation time
consumed by MAKE-INSTANCE. After the first invocation, it's possible
to replace this function by a lookup in a cache.

The same applies to args checking for some of the other functions
defined to object instantiation and class modification. However, the
time required to build this into our CLOS in a structured manner,
exceeds "just" a few evenings, meaning that I probably will be
delaying this task until I have a more time to undertake this effort.

Ofcourse, I remain on the look out for possibilities to increase the
performance of our clos implementation. An important input are the
issues you experience with our performance, especially if you have
example code to demonstrate it.



More information about the armedbear-devel mailing list