[VM] HashBits, a lazy way
John M McIntosh
johnmci at mac.com
Sat Jul 19 19:52:37 UTC 2003
Things are a bit quiet this morning so I wandered over to my freebsd
intel box and downloaded
the unix 3.5-development tar file and build an intel squeak vm.
I used a interp.c I had (from june 30th) which was a bit newer, but
followed the same pattern as the one that Ian is shipping, gnuified,
use of global structure foo, use of AHC changeset to localize variables
in the interpreter
For the 3.6.1bx interp.c that used
BitOfGCTuning-JMM
which removes the +1 in the headerTypeBytes lookup, plus some
localization for the mark/sweep
InterpreterFixes-3Point6 from Andreas
CodeGenEnh-3Point6 from Andreas
MakePrimPointXInternal-JMM which makes point x/y internal in the
interp.c
allocateNoFillHashTable-JMM which has improved allocation/nofill &
hashtable lookup.
Not quite the same, however in running tinybenchmarks I noted
june 30thVM 40,738,383 bytecode/sec 972,076 sends/sec
3.6.1bxVM 40,429,564 bytecodes/sec 984,169 sends/sec
Similar performance, but the 3.6.1bxVM has better sends/second. Due to
the CodeGenEnh I think...
Certainly one is not extraordinary faster than the other.
However when I looked at allocation rates for 1 asFloat, 2 at 3, Array
new: 5 I saw
june30thVM 37,654, 40,198, 31,037
3.6.1bxVM 75,952, 82,524, 39,325
Ah, much nicer, also quite remarkable as compared to the powerpc
benchmarks.
These changes did translate into a savings in the macrobenchmarks.
371,654 versus 376,568
It's hard to say if the better performance is due to allocation, or to
faster sends/second.
however cutting small object allocation time by 50%should show up
somewhere.
Someone will need to do a better degree of testing, to better reflect
just the hashtable/ old hash differences? Versus my wholesale
before/after testing. And of course try this under windows.
PS The intel box is a dual pentium 350Mhz, which ran 49.5% busy during
the testing.
gcc version 2.95.4 was used, gcc 3.3.x might do a better job?
--
========================================================================
===
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
|