Direct function calls in lisp |
| |
Authors: | Benjamin Zorn and Paul Hilfinger |
| |
Affiliation: | (1) Computer Science Division, University of California, 94720 Berkeley, CA |
| |
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.This research was funded by DARPA contract number N00039-85-C-0269 as part of the SPUR research project. |
| |
Keywords: | function calls functions Lisp implementation |
本文献已被 SpringerLink 等数据库收录! |