Re: dispatch performance

hoelzle@xenon.stanford.edu (Urs Hoelzle)
Tue, 12 Apr 1994 03:01:35 GMT

          From comp.compilers

Related articles
dispatch performance graham@pact.srf.ac.uk (1994-04-08)
Re: dispatch performance hoelzle@xenon.stanford.edu (1994-04-12)
| List of all articles for this month |

Newsgroups: comp.compilers
From: hoelzle@xenon.stanford.edu (Urs Hoelzle)
Keywords: OOP, performance
Organization: Stanford University: Computer Science Department
References: 94-04-051
Date: Tue, 12 Apr 1994 03:01:35 GMT

graham@pact.srf.ac.uk (Graham Matthews) writes:


>I was reading one of the SELF papers and came across the notion of MiMS,
>Millions of Messages per Second, as a measure of the efficiency of an
>object oriented language. I was wondering if anyone knew any typical
>dispatch performance figures for multiple dispatch (multi-method) object
>oriented languages such as CLOS. ...


It may be more interesting to ask "how long does a dispatch take *if there
is one*. With the optimizations in the current SELF compilers, you can
essentially achieve arbitrarily high MiMS numbers by measuring loops with
constant-folded (or heavily optimized) sends in the loop body (so that
sends with a cost of zero dominate the total number of sends).


As for the average time of a real message dispatch, I've recently measured
something like 10-18 cycles per dispatch (average) for SELF on a
SPARCstation-2 (2-cycle loads + load delay slot), and 10-15 cycles for C++
(g++). (These are numbers measured with an instruction-level tracing
tool, including cache overhead etc., for a set of fairly large
applications.)


-Urs


----------------------------------------------------------------------------
Urs Hoelzle urs@cs.stanford.EDU
Computer Systems Laboratory, CIS 57, Stanford University, Stanford, CA 94305
--


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.