is described. The final chapter is devoted to the SCERPO vision system. The system is constructed along the lines of the design philosophy discussed earlier in the book. Short descriptions of various features of the system are listed along with an example of an actual run of the system. I found the account lacking the level of detail evident in the other chapters. This book is not meant to serve as an introduction to machine vision. For those actively working in c o m p u t e r v i sion, it will prove useful as a reference to s o m e i m p o r t a n t w o r k in m o d e l - b a s e d vision and perceptual organization. Those interesed in the design of industrial vison systems should definitely consult it. other users' needs, inertia, and available special hardware (or software) are usually m o r e improtant. No m a t t e r h o w fast it is, I am sure we (our research group) could not j u s tify a Cray solely to run Lisp, but buying a Lisp that is several times faster for the 3081, already on campus, might be possible. This was probably one of the most quoted books in the field before it was finally published and manufactures will continue to quote the numbers and produce updates for their new systems. Unfortunately it is t o o much w o r k to have an annual update with the times for the current versions of the systems. On-line or c o m p u t e r - b a s e d books always sound like a great idea, until paying for it comes up, and there is something m o r e appealing and satisfying about a real printed book. I enjoyed this book, with its discussion of benchmarks in general, various Lisp implementations, and the specific programs and results. It should be m o r e than a dust catcher on the book shelf by providing pointers on developing you own benchmarks for y o u r problem domain and help in evaluating the performance of your chosen system, and even in choosing a system Performance and Evaluation of Lisp R. Gabriel MIT Press Reviewed by Keith Price The first question a non-Lisp user will ask is: Why bother, aren't the standard Fortran benchmarks good enough? I k n o w from experience that the speed of different versions of Lisp depends on m o r e that the speed of the underlying machine, from having written a graph matching program in UCI Lisp for TOPS-20, then changing it to run in Franz on a 750 where the times increased by much more than the stated machine differences. This program was then moved to a Symbolics 3600 with an enourmous speedup (far more than the basic machine speed would indicate). Performance and Evaluation ... represents an a t t e m p t to provide a good set of benchmark programs to test the efficiency of Lisp systems. About 20 different programs were run on about 12 different implementations ranging from small VAX or 68000 based systems through Lisp machines all the way to tBM3081 and Cray versions. This w o r k provides the Lisp code for each benchmark, so that you can test y o u r o w n system, and a detailed analysis of the necessary operations. Each i m p l e m e n t a t i o n is also briefly descibed. These programs are meant to test different aspect of c o m m o n l y used Lisp constructs, not simply h o w fast the machine can crunch numbers - - as in the case of the "standard" benchmarks. Benchmarks only give an indication of the p e r f o r mance of a system on a real problem. The relative p e r formance of the different systems is generally consistent - - PSL on the Cray-1 is usually the fastest and certainly the most expensive. Similar i m p l e m e n t a t i o n s or machine families (e.g. PSL or VAX Common) are also consistent - faster on the faster machines. But m o r e differences a p pear in the relative performance of c o m p l e t e l y different systems. Lisp i m p l e m e n t a t i o n s and thus performance their change almost daily, so that the exact times will change and relative performance may change. This makes the decision of which system to buy fluid, with the choice based only loosely on the benchmarks. Real problems usually involve a c o m b i n a t i o n of basic classes of o p e r a tions. The p e r f o r m a n c e on a real program will also depend on the much harder to quantify garbage collection and paging performance. The user environment, total cost, SIGART N e w s l e t t e r , J a n u a r y 198'7, N u m b e r 99 Page 21
/lp/association-for-computing-machinery/performance-and-evaluation-of-lisp-by-r-gabriel-mit-press-zFOSf20aDx