[Pharo-dev] [Vm-dev] Spur performance report...

David T. Lewis lewis at mail.msen.com
Tue Apr 22 19:21:26 EDT 2014


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 at gmail.com> wrote:
> 
> >
> > 2014-04-23 0:05 GMT+02:00 Eliot Miranda <eliot.miranda at 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.

Bravo!

Dave





More information about the Pharo-dev mailing list