Hi David,


On Tue, Apr 22, 2014 at 4:21 PM, David T. Lewis <lewis@mail.msen.com> wrote:

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

That's quite impressive. I suspect that if you run this under a time profiler
that you'll see a lot of time going into I/O even though it is using a local
MC cache.  That would mean that this macro benchmark is quite conservative,
and the actual computational speedup may be considerably better than 1.6x.

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.
 
Bravo!

Dave

--
best,
Eliot