Path: utzoo!attcan!utgpu!watmath!iuvax!mailrus!bbn!bbn.com!mthome From: mthome@bbn.com (Mike Thome) Newsgroups: comp.lang.lisp Subject: Re: CLOS availability (was Re: Common Lisp on the DEC 3100) Message-ID: <43681@bbn.COM> Date: 2 Aug 89 16:21:08 GMT References: <162@mit-amt.MEDIA.MIT.ErU> <15627@pasteur.Berkeley.EDU> Sender: news@bbn.COM Reply-To: mthome@vax.bbn.com (Mike Thome) Organization: Bolt Beranek and Newman Inc., Cambridge MA Lines: 40 In article andrew@jung.harlqn.uucp (Andrew Watson) writes: >In article <15627@pasteur.Berkeley.EDU> faustus@dogwood.Berkeley.EDU (Wayne A. Christopher) writes: > Also, I'm interested in running CLOS. What experience have people had > with the efficiency of this system? The book says it can be done very > efficiently, but I've heard people say it's a dog, in both speed and > memory usage. CLOS implementations can be VERY efficient (as first demonstrated by TI's implementation)... PCL (the first, the publicly available, the portable) is not and cannot (in general) be as efficient as a native implementation because of it's portability... and comparing a system like C++ to CLOS is classicly apples-and-oranges. *Many* lisp vendors are working on native CLOS implementations - I've actually played with the TI pre-release product (for the TI explorer lisp machines) and remain very impressed (no doggy that!). Symbolics has announced a version of their own, but it's still a ways off... and I'm sure all the major CommonLisp vendors are doing the same (on pain of not being able to provide full CommonLisp to their customers). >Gathering objective (no pun intended!) data on CLOS performance is difficult, >since there aren't any widely used benchmarks, ... Yes - in general, "real" systems seem to be best at measuring *overall* performance - however, there are a number of useful standard measures - among them: generic function dispatch speed measured relative to funcall speed for various combinations of methods (i.e. single method gfn, single argument dispatch, multiple-argument dispatch, dispatch speed on CL types relative to CLOS classes), slot access relative to maybe aref or structure ref speed (instance and class slots, all the various ways of getting at 'em), etc. Perhaps the most interesting measurements are the breakevenpoints where using CLOS begins to beatout old CommonLisp (i.e. using CLOS method dispatch instead of typecase usually starts winning at around 10 methods/clauses in PCL on symbolics). > Who has the best implementation of CLOS? >If I gave you my opinion on that, it'd be advertising (:-). Not at all to detract from Harlequin's product (or anyone else's), but this question will not be meaningfully unanswerable until Chapter 3 (the Metalevel) of the CLOS spec is settled on and vendors implement it (that's where the hard stuff is...) -mike (mthome@bbn.com, mthome@thalamus.bu.edu, mthome@wombat.mit.edu)