[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Speeding up PCL on top of Austin KCL

At the Conference on Object-Oriented Programming Systems, Languages
and Applications (OOPSLA) in San Diego a couple weeks ago, Gregor
Kiczales from Xerox stated that Xerox' free Portable Common Loops
(PCL) implementation of the Common Lisp Object System (CLOS) should
be able to perform a generic function invocation in 3.5 times the
time required for a regular Lisp function.

Later, Kiczales explained that while some Lisp systems meet the 3.5
figure, Kyoto Common Lisp is not one of them.  (My own measurements
indicates that on Austin KCL, a generic function invocation costs
15 times the CPU time of a simple function call.)  Kiczales implied
that the code generated by KCL in this case is much more cautious
than necessary.

Now if I'm not mistaken, Austin KCL has the ability to accept
inline C code for user functions.  If so, then perhaps the
appropriate PCL code (or the generic functions themselves)
could be inlined to speed up generic function invocation.
My question is, Has anyone worked on this, or is anyone doing
so presently, or is anyone planning to do so - either for
Austin KCL, regular KCL, or one of the commerical KCL-based
systems like Ibuki Common Lisp?

	Lawrence G. Mayka
	AT&T Bell Laboratories