LISP and Symbolic Computation, 3(1)13-20
Direct Function Calls in Lisp
Benjamin Zorn Paul Hilfinger, Computer Science Division, University of California, Berkeley, CA 94720
Abstract: This paper compares implementation strategies for
function calls in compiled Lisp. We discuss various ways of allowing
compiled call instructions to branch immediately to a callee's code
(direct calls), rather than to refer to a symbol that points to the
function's definition (indirect calls). We examine the performance of
direct and indirect function calls on the VAX and MC68020, and on a
RISC architecture--the SPUR multiprocessor. For the SPUR architecture,
single indirection slows applications by 3-4%, and double indirection
slows applications by 6-8%. The performance benefits of direct
function calls are considerably smaller for the VAX and MC68020
architectures. We discuss also the costs and complexities involved in
implementing direct function calls.
Keywords: function calls, functions, Lisp implementation
|
This article is not available online.
|
|