[Vm-dev] CogVM performance

Henrik Johansen henrik.s.johansen at veloxit.no
Wed May 20 12:41:45 UTC 2015


Could it be related to the change in 1166 to use XCHG between register/mem locations instead of a MOV to a (now unavailable) temp register in genPushRegisterArgsForNumArgs:?
According to http://www.agner.org/optimize/instruction_tables.pdf <http://www.agner.org/optimize/instruction_tables.pdf> , XCHG with m/r operands has major penalties on most platforms compared to m/r MOV, which would be a problem if it's used for a large percent of sends...

Cheers,
Henry

> On 20 May 2015, at 3:07 , David T. Lewis <lewis at mail.msen.com> wrote:
> 
> 
> The generated source files have a comment block that indicate the VMMaker
> sources from which they were generated. The SVN 3306 src files came from
> VMMaker.oscog-eem.1155, and the SVN 3308 src files were generated from
> VMMaker.oscog-eem.1178. The changes that produce the performances difference
> will be found somewhere in the VMMaker commits it that range.
> 
> Dave
> 
> 
> On Tue, May 19, 2015 at 10:40:15PM +0200, Levente Uzonyi wrote:
>> 
>> And after that I checked out 3308 of src, and rebuilt the VM again:
>> 
>> '934306569 bytecodes/sec; 46368169 sends/sec'
>> 
>> The files which were changed from 3306 to 3308 are:
>> 
>> U    src/vm/cointerp.c
>> U    src/vm/cointerpmt.c
>> U    src/vm/cogit.c
>> U    src/vm/cointerp.h
>> U    src/vm/gcc3x-cointerp.c
>> U    src/vm/cointerpmt.h
>> U    src/vm/gcc3x-cointerpmt.c
>> U    src/vm/cogit.h
>> U    src/plugins/QuicktimePlugin/QuicktimePlugin.c
>> 
>> Levente
>> 
>> On Tue, 19 May 2015, Levente Uzonyi wrote:
>> 
>>> 
>>> The difference is somewhere in the sources. I just checked out revision 
>>> 3306 of the src directory, and rebuilt a CogVM (ht one, and kept the 
>>> platform files at 3345. I used some extra CFLAGS which are responsible for 
>>> the higher bytecodes/sec, ignore that.). It gives the following:
>>> 
>>> '941176470 bytecodes/sec; 122927085 sends/sec'
>>> 
>>> While 3343 gives:
>>> 
>>> '896672504 bytecodes/sec; 46102703 sends/sec'
>>> 
>>> Levente
>>> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20150520/49119aa3/attachment.htm


More information about the Vm-dev mailing list