<div dir="ltr">Hi David,<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Apr 22, 2014 at 4:21 PM, David T. Lewis <span dir="ltr">&lt;<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On Tue, Apr 22, 2014 at 03:44:46PM -0700, Eliot Miranda wrote:<br>
&gt; Hi Nicolas,<br>
&gt;<br>
&gt; On Tue, Apr 22, 2014 at 3:21 PM, Nicolas Cellier &lt;<br>
&gt; <a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; 2014-04-23 0:05 GMT+02:00 Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt;:<br>
&gt; &gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Hi All,<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;     I should write a blog post on this, but I can&#39;t wait...<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; In recent days I&#39;ve written a script to build a Cog VMMaker image from<br>
&gt; &gt;&gt; Squeak 4.5.  See <a href="http://www.squeakvm.org/svn/squeak/branches/Cog/image" target="_blank">http://www.squeakvm.org/svn/squeak/branches/Cog/image</a>.<br>
&gt; &gt;&gt;  This has allowed me to run the current Cog VM against Spur side-to-side.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; To build a Cog VMMaker image on my 2.2GHz Intel Core i7 MacBook Pro using<br>
&gt; &gt;&gt; the current Cog VM takes about 2 and a half minutes:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; McStalker.image$ time oscfvm CogVMMaker.image BuildSqueak45Image.st<br>
&gt; &gt;&gt; real    2m30.671s<br>
&gt; &gt;&gt; user    2m15.683s<br>
&gt; &gt;&gt; sys     0m5.283s<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; To build the equivalent image using Spur takes about 1 and a half minutes:<br>
&gt; &gt;&gt; McStalker.image$ time spurcfvm CogVMMaker-spur.image<br>
&gt; &gt;&gt; BuildSqueak45Image.st<br>
&gt; &gt;&gt; real    1m34.943s<br>
&gt; &gt;&gt; user    1m23.666s<br>
&gt; &gt;&gt; sys     0m6.810s<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Comparing:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; 94.943 - 150.671 / 150.671 * 100 -36.99<br>
&gt; &gt;&gt; 83.666 - 135.681 / 135.681 * 100 -38.34<br>
&gt; &gt;&gt; 150.671 / 94.943 1.59<br>
&gt; &gt;&gt; 135.681 / 83.666 1.62<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; that&#39;s about a -37% speedup, or 1.6x faster.<br>
&gt; &gt;&gt; --<br>
&gt; &gt;&gt; best,<br>
&gt; &gt;&gt; Eliot<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt;<br>
&gt; &gt; So this is loading .mcz from package cache, uncompressing, compiling,<br>
&gt; &gt; installing the packages.<br>
&gt; &gt;<br>
&gt;<br>
&gt; Exactly.<br>
&gt;<br>
&gt;<br>
&gt; &gt; I presume this qualifies as a macro benchmark...<br>
&gt; &gt;<br>
&gt;<br>
&gt; yes :-)<br>
&gt;<br>
<br>
</div></div>That&#39;s quite impressive. I suspect that if you run this under a time profiler<br>
that you&#39;ll see a lot of time going into I/O even though it is using a local<br>
MC cache.  That would mean that this macro benchmark is quite conservative,<br>
and the actual computational speedup may be considerably better than 1.6x.<br></blockquote><div><br></div><div>I think that the i/o time is included in the &quot;sys&quot; sub-total, which will include reading the image files and the mczs.  The rest is, as they say, up to us.  So the difference in performance between including and excluding I/O is -36.99 vs -38.34, or 1.59 vs 1.62.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Bravo!<br>
<br>
Dave<br></blockquote></div><div><br></div>-- <br>best,<div>Eliot</div>
</div></div>