Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ut-sally!husc6!mit-eddie!ll-xn!ames!oliveb!pyramid!hplabs!hplabsc!kempf From: kempf@hplabsc.UUCP (Jim Kempf) Newsgroups: comp.arch Subject: Re: Do every object based systems suffer from poor performance ? Message-ID: <1831@hplabsc.UUCP> Date: Fri, 15-May-87 11:02:49 EDT Article-I.D.: hplabsc.1831 Posted: Fri May 15 11:02:49 1987 Date-Received: Sun, 17-May-87 00:10:59 EDT References: <6055@shemp.UCLA.EDU> Distribution: world Organization: Hewlett-Packard Laboratories Lines: 24 Keywords: capability, object, 80286, 432 Summary: performance CAN be good In article <6055@shemp.UCLA.EDU>, kong@CS.UCLA.EDU writes: > > direct consequence of this "safest" object model. As a matter of fact, > every object based systems has this kind of problems. So, what should > be our choice ? a conventional architecture whose performance is > acceptable but sometimes has protection problems, or a object based > system which has less protection problems but an (unacceptable ?) poor > performance ? (I know that at least the current object or capability The statement that "every object based system" has poor performance is simply not true. Software object based systems on conventional hardware can get performance which is very good. Objective-C(TM), for example, has messaging speed of about 3X a function call (~30 microseconds on a 16.5 MHx 68020), C++ can get full function call speed for nonvirtual (noninherited) functions, or, for the cost of one level of indirection, inherited functions can be used. The Common Lisp Object System (new standard for Common Lisp o-o programming) can get about 4X a function call for single argument (Smalltalk-like) dispatching, but for that, you can also write methods which dispatch on integers, symbols, and other built-in Common Lisp data types (which you can't do in Objective-C), and have dynamic lookup of methods at run time (which you can't do in C++). Jim Kempf kempf@hplabs.hp.com