[piumarta@speakeasy.net: Re: Re: [squeak-dev] 64bit VMs some thoughts.]

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[piumarta@speakeasy.net: Re: Re: [squeak-dev] 64bit VMs some thoughts.]

David T. Lewis
 
Thanks Ian.

Forwarding to the list - John, the GCC 4.3 comments will be of interest.

----- Forwarded message from Ian Piumarta <[hidden email]> -----

X-Sent-To: <[hidden email]>
From: Ian Piumarta <[hidden email]>
To: "David T. Lewis" <[hidden email]>
In-Reply-To: <[hidden email]>
Subject: Re: [Vm-dev] Re: [squeak-dev] 64bit VMs some thoughts.
Date: Fri, 4 Dec 2009 15:28:40 -0800
X-Mailer: Apple Mail (2.936)

Hi Dave,

>I think you can expect the 64 bit image (SQ_VI_BYTES_PER_WORD 8) to be
>relatively slow. Entirely aside from address calculation issues, the  
>image
>is going to be full of 64-bit integer arithmetic in places where 32-
>bit
>arithmetic would normally be happening, and that is bound to take a  
>toll.

My experience with em64t has been entirely positive.  Programs  
consistently run faster in 64-bit mode than in 32-bit mode.  Much of  
the improvement is probably due to the 8 additional registers and the  
passing of the first few arguments in registers rather than on the  
stack.  The Squeak VM likely does not benefit the way most other  
programs do because of the aggressive inlining of methods in the C  
code generator, eliminating entirely the impact of a better argument  
passing convention.

I have to say I am disgusted at gcc 4.3 though.  Maybe replacing all  
the -O/-f options with '-Os -fno-cse-follow-jumps -fomit-frame-
pointer' would help?  It has worked wonders for me on (non-Squeak)  
bytecode interpreters; the Core2 in particular seems hypersensitive to  
locality and alignment of loops/jumps at the start of cache lines.  
(Attempts to manually allocate machine registers to VM registers  
always reduce performance with gcc-4.3, but I haven't experimented  
with explicit register assignments in the Squeak VM on 64-bit hardware.)

Cheers,
Ian

----- End forwarded message -----