[Win32] VM update (3.2 release candidate)

John M McIntosh johnmci at smalltalkconsulting.com
Mon May 6 23:19:32 UTC 2002


>John,
>
>>  Note my benchmarks used a hand coded sqGnu.h and tampering with
>>  interp.c so I could really what was happening.
>>
>>  So without any changes your assemble should look like so.
>
>Okay, this is clearly a problem with currentBytecode not being in a
>register. It seems that by default it's not in a register (which it
>_really_ should since it makes a heck of a difference; I can only assume
>that Ian's sqGnu.h doesn't define CB_REG for some reason) and somehow
>your changes must have caused GCC to "get it right" by assigning it a
>global register.


Yes Ian's sqGnu.h has always had

#define CB_REG /*asm("%ebx") ; avoid undue register pressure */

Thus no register for CB_REG.
Do you have something different for the windows build?


>
>Na, thanks. Not enough interest at this point. BTW, I would guess that
>any difference in speed is more likely to be due to a different layout
>of the variables (e.g., certain heavily used globals falling into the
>same cache lines etc). I thought about this issue before - unfortunately
>it's hard to measure the "average rate" of accessing the globals in
>interp.c.

Well all I can do is point to

using Ian's standard build environment and his compiler options I saw
as shipped from Ian.
29962546 bytecodes/sec; 952275 sends/sec
29962546 bytecodes/sec; 965687 sends/sec
29962546 bytecodes/sec; 961174 sends/sec
29906542 bytecodes/sec; 962073 sends/sec
29143897 bytecodes/sec; 938373 sends/sec
29962546 bytecodes/sec; 963877 sends/sec
29990627 bytecodes/sec; 935811 sends/sec
29602220 bytecodes/sec; 965687 sends/sec
29629629 bytecodes/sec; 937517 sends/sec
29170464 bytecodes/sec; 963877 sends/sec

versus

with global structure logic.
26644462 bytecodes/sec; 1014257 sends/sec
31158714 bytecodes/sec; 1026404 sends/sec
31158714 bytecodes/sec; 1015258 sends/sec
31128404 bytecodes/sec; 1025380 sends/sec
31158714 bytecodes/sec; 987002 sends/sec
31158714 bytecodes/sec; 1041351 sends/sec
31037827 bytecodes/sec; 1015258 sends/sec
31158714 bytecodes/sec; 1027429 sends/sec
31128404 bytecodes/sec; 1012260 sends/sec
31128404 bytecodes/sec; 1026404 sends/sec


-- 
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
===========================================================================



More information about the Squeak-dev mailing list