ABSTRACT
This paper describes the issues involved in evaluating the performance of Lisp systems. We explore the various levels at which quantitative statements can be made about the performance of a Lisp system, giving examples from existing implementations wherever possible. Our thesis is that benchmarking is most effective when performed in conjunction with an analysis of the underlying Lisp implementation and computer architecture. We examine some simple benchmarks which have been used to measure Lisp systems, and examine some of the complexities of evaluating the resulting timings.
This paper will explain in detail the technical issues and trade-offs that determine the efficiency and usability of a Lisp implementation; though there will appear to be a plethora of facts, we will only discuss those aspects of a Lisp implementation that we feel are the most important for evaluation. Throughout we will talk about the impact of these issues and trade-offs on benchmarks and benchmarking methodologies.
- 1.Baker, H. B. List Processing in Real Time on a Serial Computer, Communications of the ACM, Vol. 21, no. 4, April 1978. Google ScholarDigital Library
- 2.Baker, H. B. Shallow Binding in Lisp 1.5, Communications of the ACM, Vol. 21, no. 7. July 1978. Google ScholarDigital Library
- 3.Bates, R., Dyer, D., Koomen, H. Implementation of Interlisp on a Vax, Proceedings of the 1982 ACM Symposium on Lisp and Functional Programming, August 1982. Google ScholarDigital Library
- 4.Brooks, R. A., Gabriel, R. P., Steele, G. L. An Optimizing Compiler For Lexically Scoped Lisp, Proceedings of the 1982 ACM Compiler Construction Conference, June, 1982. Google ScholarDigital Library
- 5.Brooks, R. A., Gabriel, R. P., Steele, G. I,. S-1 Common Lisp Implementation, Proceedings of the 1982 ACM Symposium on Lisp and Functional Programming, August 1982. Google ScholarDigital Library
- 6.Burton, R. R, et. al. Interlisp-D Overview in "Papers on Interlisp-D", Xerox Palo Alto Research Center, CIS-5 (SSL-80-4), 1981.Google Scholar
- 7.Cohen, J. Garbage Collection of Linked Data Structures, ACM Computing Surveys, Vol. 13, no. 3, September 1981. Google ScholarDigital Library
- 8.Correll, Steven. S-1 Uniprocessor Architecture (SMA-4) in "The S-1 Project 1979 Annual Report", Chapter 4. Lawrence Livermore National Laboratory, Livermore, California, 1979.Google Scholar
- 9.Fateman, R. J. Reply to an Editorial, ACM SIGSAM Bulletin 25, March 1973. Google ScholarDigital Library
- 10.Foderaro, J. K., Sklower, K. L. "The FRANZ Lisp Manual", University of California, Berkeley, Berkeley, California, April 1982.Google Scholar
- 11.Griss, Martin L, Benson, E. PSL: A Portable LISP System, Proceedings of the 1982 ACM Symposium on Lisp and Functional Programming, August 1982. Google ScholarDigital Library
- 12.Lampson, Butler W. Fast Procedure Call, Proceedings of the 1982 ACM Symposium on Architectural Support for Programming Languages and Operating Systems, SIGARCH Computer Architecture News, Vol. 10 no.2, March 1982. Google ScholarDigital Library
- 13.Masinter, L. "Interlisp-VAX: A Report", Department of Computer Science, Stanford University, STAN-CS-81-879, August 1981. Google ScholarDigital Library
- 14.Masinter, L. M., Deutsch, L. P. Local Optimization For a Compiler for Stack-based Lisp Machines in "Papers on Interlisp-D", Xerox Palo Alto Research Center, CIS-5 (SSL-80-4), 1981.Google Scholar
- 15.Steele, Guy Lewis Jr. Data Representations in PDP-10 MacLisp, Proceedings of the 1977 MACSYMA Users' Conference. NASA Scientific and Technical Information Office, Washington, D.C., July 1977.Google Scholar
- 16.Steele, Guy Lewis Jr. Fast Arithmetic in MacLisp, Proceedings of the 1977 MACSYMA Users' Conference. NASA Scientific and Technical Information Office, Washington, D.C., July 1977.Google Scholar
- 17.Steele, Guy Lewis Jr., Sussman, G. J. The Dream of a Lifetime: A Lazy Scoping Mechanism, Massachusetts Institute of Technology AI Memo 527, November 1979.Google Scholar
- 18.Steele, Guy Lewis Jr. et. al. An Overview of Common Lisp, Proceedings of the 1982 ACM Symposium on Lisp and Functional Programming, August 1982. Google ScholarDigital Library
- 19.Teitelman, Warren, et. al. "Interlisp Reference Manual", Xerox Palo Alto Research Center, Palo Alto, California, 1978.Google Scholar
- 20.Weinreb, Daniel, and Moon, David. "LISP Machine Manual", Fourth Edition. Massachusetts Institute of Technology Artificial Intelligence Laboratory, Cambridge, Massachusetts, July 1981. Google ScholarDigital Library
- 21.Weyhrauch, R. W., Talcott, C. T., Scherlis, W. L., Gabriel, R. P.; personal communication and involvement.Google Scholar
- 22.White, J. L., NIL: A Perspective, Proceedings of the 1979 MACSYMA Users Conference, July 1979.Google Scholar
Index Terms
- Performance of Lisp systems
Recommendations
Standard LISP (reprint)
When it was first formulated in 1960, (1) the programming language LISP was a truly machine independent language. However, even the earliest computer implementation encountered problems in input-output control and the handling of free variables which ...
On compiling embedded languages in LISP
LFP '80: Proceedings of the 1980 ACM conference on LISP and functional programmingIn INTERLISP we find a number of embedded languages such as the iterative statement and the pattern match facility in the CLISP package, the editor and makefile languages and so forth. We will in this paper concentrate on the problem of extending the ...
Down with Emacs Lisp: dynamic scope analysis
ICFP '01: Proceedings of the sixth ACM SIGPLAN international conference on Functional programmingIt is possible to translate code written in Emacs Lisp or another Lisp dialect which uses dynamic scoping to a more modern programming language with lexical scoping while largely preserving structure and readability of the code. The biggest obstacle to ...
Comments