[Vm-dev] Spur performance report...
Eliot Miranda
eliot.miranda at gmail.com
Tue Apr 22 22:44:46 UTC 2014
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 :-)
> I didn't follow the full flow of changes, how difficult is it right now to
> bootstrap a spur.image?
>
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'
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.
(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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20140422/7fec95f5/attachment.htm
More information about the Vm-dev
mailing list