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