<br><br><div class="gmail_quote">On Wed, Dec 22, 2010 at 11:38 AM, Jecel Assumpcao Jr. <span dir="ltr">&lt;<a href="mailto:jecel@merlintec.com">jecel@merlintec.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Dan Ingalls wrote on Tue, 21 Dec 2010 20:16:13 -0800<br>
&gt; Awesome.  For some reason this really grabbed me -- This is about the<br>
&gt; speed we achieved on the Dorado - the fastest of Xerox&#39;s microcoded<br>
&gt; D-machines when we were first taking Smalltalk public.  That machine<br>
&gt; could not be carried by two people, let alone one, gobbled power and<br>
&gt; had to live in a separate room due to the fan noise.<br>
&gt; A phone...  yeah<br>
<br>
The number I have often seen associated with the Dorado is 400,000<br>
bytecodes/sec, which is 80 times slower than Jon&#39;s phone and 100 times<br>
slower than John&#39;s tuned iPhone VM. I just use 0.5Mbc/sec for the Dorado<br>
to make the math a bit simpler. Since the Dorado could execute 14<br>
million microcode instructions per second, this would mean 28 microcode<br>
instructions per bytecode which does seem rather high. But I really<br>
can&#39;t imagine it needing less than 10 microcode instructions per<br>
bytecode, which would result in a peak of 1.4Mbc/sec.<br></blockquote><div><br></div><div>While things like temp var and inst var access may be cheap sends can run very high (think of a cache miss lookup or a cache miss lookup followed by MNU processing), as can some primitives.  I would think 28 microcode ops per bytecode is a believable average.</div>
<div> </div><div>best</div><div>Eliot</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<font color="#888888"><br>
-- Jecel<br>
<br>
<br>
</font></blockquote></div><br>