<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"><<a href="mailto:lewis@mail.msen.com" target="_blank">lewis@mail.msen.com</a>></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>
> Hi Nicolas,<br>
><br>
> On Tue, Apr 22, 2014 at 3:21 PM, Nicolas Cellier <<br>
> <a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@gmail.com</a>> wrote:<br>
><br>
> ><br>
> > 2014-04-23 0:05 GMT+02:00 Eliot Miranda <<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>>:<br>
> ><br>
> >><br>
> >> Hi All,<br>
> >><br>
> >> I should write a blog post on this, but I can't wait...<br>
> >><br>
> >> In recent days I've written a script to build a Cog VMMaker image from<br>
> >> 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>
> >> This has allowed me to run the current Cog VM against Spur side-to-side.<br>
> >><br>
> >> To build a Cog VMMaker image on my 2.2GHz Intel Core i7 MacBook Pro using<br>
> >> the current Cog VM takes about 2 and a half minutes:<br>
> >><br>
> >> McStalker.image$ time oscfvm CogVMMaker.image BuildSqueak45Image.st<br>
> >> real 2m30.671s<br>
> >> user 2m15.683s<br>
> >> sys 0m5.283s<br>
> >><br>
> >> To build the equivalent image using Spur takes about 1 and a half minutes:<br>
> >> McStalker.image$ time spurcfvm CogVMMaker-spur.image<br>
> >> BuildSqueak45Image.st<br>
> >> real 1m34.943s<br>
> >> user 1m23.666s<br>
> >> sys 0m6.810s<br>
> >><br>
> >> Comparing:<br>
> >><br>
> >> 94.943 - 150.671 / 150.671 * 100 -36.99<br>
> >> 83.666 - 135.681 / 135.681 * 100 -38.34<br>
> >> 150.671 / 94.943 1.59<br>
> >> 135.681 / 83.666 1.62<br>
> >><br>
> >> that's about a -37% speedup, or 1.6x faster.<br>
> >> --<br>
> >> best,<br>
> >> Eliot<br>
> >><br>
> >><br>
> > So this is loading .mcz from package cache, uncompressing, compiling,<br>
> > installing the packages.<br>
> ><br>
><br>
> Exactly.<br>
><br>
><br>
> > I presume this qualifies as a macro benchmark...<br>
> ><br>
><br>
> yes :-)<br>
><br>
<br>
</div></div>That's quite impressive. I suspect that if you run this under a time profiler<br>
that you'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 "sys" 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>