[squeak-dev] Cog VM Performance

Herbert König herbertkoenig at gmx.net
Fri Sep 27 14:43:53 UTC 2013


Hi David,

i checked with this VM and it is a VM issue.
In the interpreter VM all images take very similar time while the new 
image with the Cog VM is dramatically slow with integer to float 
conversions.
The snipped I sent in the other post is sufficient to show the effect.

Thanks to all who gave me tips. I happily use the Cog VM with Float and 
get an improvement from above two minutes to 30 seconds without the tally.

Cheers,

Herbert

Am 27.09.2013 14:04, schrieb David T. Lewis:
> It seems likely that the difference will be something in the image (4.4 versus
> 3.8) as opposed to something in the VM (Cog versus interpreter). You should
> be able to confirm this by running the tests with an newer interpreter VM
> from http://squeakvm.org/win32/. You can use that VM to run both the 3.8 and
> the 4.4 image.
>
> Assuming that the difference is related to the image, and if 4.4 with Cog
> is five times slower than 3.8 in your tests, then I would expect that 4.4
> with the interpreter should be about ten times (!) slower than 3.8 with
> the interpreter.
>
> If that is the case, then it should be easy to find the difference using
> a profiler. Andreas' high performance profiler is currently available only
> for Cog, so you are limited to using use the normal profiler when running
> with interpreter VM. But if you can confirm that the issue is in the image,
> then you can use Cog with Andreas profiler to do the detailed profiling.
>
> Dave
>
>
> On Fri, Sep 27, 2013 at 12:26:32PM +0200, Herbert K?nig wrote:
>> Hi Folks,
>>
>> I'm doing some simulation in Squeak 3.8 and as some tests ran over two
>> minutes I decided to try a more recent image with cog vm.
>>
>> To my surprise 4.4 took around 5 times as long as 3.8. I believe I do
>> nothing out of the ordinary here. Time is spent in:
>> 24% SmallInteger>>negative; 22% SmallInteger>>bitShift: (I don't use
>> bitShift: explicitly) and 20% Array>> collect:
>>
>> Which image and VM should I use to verify this before sending the
>> complete message tallies?
>>
>> Cheers
>>
>> Herbert
>>
>> I used the following recent image / vm:
>> Image
>> -----
>> C:\daten\Squeak\4_4Dev\Squeak4.4-DCSE.image
>> Squeak4.4
>> latest update: #12333
>> Current Change Set: Knacken mit APX
>> Image format 6505 (32 bit)
>>
>> Virtual Machine
>> ---------------
>> C:\daten\Squeak\4_4Dev\Squeak.exe
>> Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.302]
>> Win32 built on Jul 15 2013 15:35:13 Compiler: 3.4.4 (cygming special,
>> gdc 0.12, using dmd 0.125)
>> platform sources revision VM: r2749
>> http://www.squeakvm.org/svn/squeak/branches/Cog Plugins: r2545
>> http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins
>> CoInterpreter VMMaker.oscog-eem.302 uuid:
>> 2ac39432-ac54-4584-964e-b129c90792f4 Jul 15 2013
>> StackToRegisterMappingCogit VMMaker.oscog-eem.302 uuid:
>> 2ac39432-ac54-4584-964e-b129c90792f4 Jul 15 2013



More information about the Squeak-dev mailing list