On Thu, Dec 03, 2009 at 03:03:48PM -0500, David T. Lewis wrote:
I would guess that the difference I am seeing now is due to compiler version. Ian's VM was compiled with gcc 4.3.3 and I am using an older gcc 4.1.2 compiler.
The results I got were:
For a 64-bit VM that I compiled locally, installed in /usr/local: CPU: AMD Turion(tm) 64 Mobile Technology ML-34, 1600 MHz OS: Linux version 2.6.18.2-34-default Compiler for VM: gcc 4.1.2 Results:
0 tinyBenchmarks ==> 154031287 bytecodes/sec; 5145368 sends/sec 0 tinyBenchmarks ==> 153201675 bytecodes/sec; 5183202 sends/sec 0 tinyBenchmarks ==> 151658767 bytecodes/sec; 5268426 sends/sec
For a 32-bit VM from Ian's site, running the same image from a local directory: CPU: AMD Turion(tm) 64 Mobile Technology ML-34, 1600 MHz OS: Linux version 2.6.18.2-34-default Compiler for VM: gcc 4.3.3 Results:
0 tinyBenchmarks ==> 62135922 bytecodes/sec; 3330746 sends/sec 0 tinyBenchmarks ==> 62256809 bytecodes/sec; 3425013 sends/sec 0 tinyBenchmarks ==> 62317429 bytecodes/sec; 3346096 sends/sec
After installing a prodigious number of 32-bit libraries on my 64-bit Linux, I can now build a 32-bit VM for comparison. Here are the results of a 64-bit versus 32-bit VM using the same compiler, operating system, and hardware:
Compiled in 64-bit mode: 0 tinyBenchmarks '155339805 bytecodes/sec; 5304104 sends/sec' 0 tinyBenchmarks '155812538 bytecodes/sec; 5393385 sends/sec' 0 tinyBenchmarks '155151515 bytecodes/sec; 5272367 sends/sec'
Compiled in 32-bit mode: 0 tinyBenchmarks '136679124 bytecodes/sec; 4652907 sends/sec' 0 tinyBenchmarks '135521439 bytecodes/sec; 4659058 sends/sec' 0 tinyBenchmarks '135665076 bytecodes/sec; 4690056 sends/sec'
So overall I see about a 14% speed advantage for the 64-bit VM versus the 32-bit VM on this platform. Again, this is with the older gcc 4.1.2 compiler.
Dave