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
|
Hi Nicolas,
On Tue, Apr 22, 2014 at 3:21 PM, Nicolas Cellier <[hidden email]> wrote: But fixing the Monticello packages is a little more involved. One has to collect the relevant packages in a directory (Kernel, Collections & System) and then do e.g.
Exactly.
yes :-)
Right now the transformation of the images is straight-forward, e.g.: SpurBootstrap bootstrapImage: 'Squeak-4.5-All-in-One.app/Contents/Resources/Squeak4.5-13680'
(SpurBootstrapMonticelloPackagePatcher new from: 'image/package-cache'
to: 'image/spur-package-cache') patch and then load the packages into the Spur image.
When I get my ass in gear this step should be unnecessary since http://source.squeak.org/spur is ready and waiting. So the Spur trunk for Squeak V5.0 will parallel Squeak 4.6 and hopefully supplant it soon enough.
The main hold up right now is the combination of the facts that the current compaction algorithm doesn't work well, and image start-up always adds 50% of image size as free space, so the image balloons on each save. I'm finally getting back to working on the compaction algorithm after a very satisfying three weeks working with Clément Béra on Sista. So I hope to have movement on releasing Spur for the 4.6/5.0 development cycle soon.
-- best, Eliot
|
In reply to this post by Eliot Miranda-2
Congrats Eliot! Cheers. tty |
In reply to this post by Eliot Miranda-2
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 < > [hidden email]> wrote: > > > > > 2014-04-23 0:05 GMT+02:00 Eliot Miranda <[hidden email]>: > > > >> > >> 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 |
Hi David,
On Tue, Apr 22, 2014 at 4:21 PM, David T. Lewis <[hidden email]> wrote:
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! best, Eliot
|
In reply to this post by Eliot Miranda-2
Let's see the timing with the two done in reverse order. OS cache could account for some of that difference.
Blake McBride
On Tue, Apr 22, 2014 at 5:05 PM, Eliot Miranda <[hidden email]> wrote:
|
Free forum by Nabble | Edit this page |