Performance Beyond Expectations
Lynn H. Quam · 2005
The performance of Common Lisp based Image Understanding Systems has been significantly improved by the careful choice of declarations, object representations, and method dispatch in a small number of low-level primitives. In matrix multiplication and image pixel access, the performance achieved is within a factor of two of optimized C code. Effective Lisp compiler register allocation, fast CLOS slot access, and fast generic function dispatch are critical. For large grain operations, performance can be further increased using foreign function libraries. The paper closes with a “laundry list” of features that a Common Lisp implementation should provide for improving performance.