From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=BAYES_00,INVALID_MSGID, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,c52c30d32b866eae X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,2ea02452876a15e1 X-Google-Attributes: gid103376,public X-Google-Thread: 1108a1,c52c30d32b866eae X-Google-Attributes: gid1108a1,public From: mbk@caffeine.engr.utk.edu (Matt Kennel) Subject: Re: Real OO Date: 1996/04/09 Message-ID: <4ke0f8$aq1@gaia.ns.utk.edu>#1/1 X-Deja-AN: 146559654 distribution: world references: <65lDeVZF3RB@herold.franken.de> <4kbr5c$iiv@watnews1.watson.ibm.com> followup-to: comp.lang.eiffel,comp.lang.ada,comp.object organization: University of Tennessee, Knoxville and Oak Ridge National Laboratory reply-to: kennel@msr.epm.ornl.gov newsgroups: comp.lang.eiffel,comp.lang.ada,comp.object Date: 1996-04-09T00:00:00+00:00 List-Id: Norman H. Cohen (ncohen@watson.ibm.com) wrote: : In article , : tynor@atlanta.twr.com (Steve Tynor) writes: : I typically see : |> values in the 10-20% range. That means 80-90% of calls are optimized : |> to static calls : In evaluating such statistics it is important to remember that in Eiffel : ALL calls on nonfrozen features are nominally dispatching calls, even the : ones that have an obvious target. In other words, in computing the : percentage of calls to which this optimzation applies, Steve Tynor is not : just considering calls (it's not clear whether we're counting run-time : executions of calls or call sites here) that would nominally have been : dispatching calls in Ada and counting the fraction of them that can be : optimized into nondispatching calls. He's also taking all the calls that : would have been written as nondispatching calls in Ada (or C++) in the : first place, and including that number to both the numerator and : denominator. It is not surprising that this gives a fraction closer to : one than the fraction that was observed in Calder and Grunwald's C++ : measurements. I just recompiled my 'chaotic data analysis' program in Sather, which distinguishes concrete classes from abstract classes. The compiler reported 109 abstract calls and 4309 concrete calls. That's 2.5%. Of course, in Eiffel, if you do not inherit from a class then calls to such class features can be treated as concrete without further data flow analysis. : -- : Norman H. Cohen ncohen@watson.ibm.com