Related articles |
---|
dispatch performance graham@pact.srf.ac.uk (1994-04-08) |
Re: dispatch performance hoelzle@xenon.stanford.edu (1994-04-12) |
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
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.