A general approach to the optimization of function calls
Proc. of the European symposium on programming on ESOP 86
Lifetime analysis for procedure parameters
Proc. of the European symposium on programming on ESOP 86
Low cost environment changing in a shallow binding system
New Generation Computing
Optimiizing Static Scope Lisp by Repetitive Interpretation of Recursive Function Calls
IEEE Transactions on Software Engineering
Dynamic optimization of covered tail recursive functions in applicative languages
CSC '86 Proceedings of the 1986 ACM fourteenth annual conference on Computer science
Communications of the ACM
Semantics for LISP without Reference to an Interpreter
Proceedings of the Fourth 'Colloque International sur la Programmation' on International Symposium on Programming
Recursion is more efficient than iteration
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Compiling functional languages for von Neumann machines
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
Hi-index | 0.00 |
The Low Cost Call - Optimization was introduced as a general approach to the optimization of function calls in shallow binding implementations of applicative static scope languages. The basic idea of the LCC-optimization is to avoid saving obsolete environments for a large class of function calls, thus exceeding the usual optimization of tailrecursive and covered tailrecursive calls. This paper describes how the new technique has been applied in the implementation of a portable static scope LISP interpreter for microcomputers, called LCINT. In a benchmark test we measure the impact of the LCC-optimization on the performance of LCINT. The results show that this technique is particularly valuable for small systems with a rather limited storage. Whereas some of the results fully meet our expectations, others are rather surprising and lead us to certain conclusions for further research.