[squeak-dev] Re: jitter (was: The Old Man)

bryce at kampjes.demon.co.uk bryce at kampjes.demon.co.uk
Fri Apr 4 21:34:23 UTC 2008


Andreas Raab writes:
 > bryce at kampjes.demon.co.uk wrote:
 > > There's many reasons why there isn't a larger gain. One is only a few
 > > methods are being compiled.
 > 
 > Why not compile everything to see what the baseline gain is? This is 
 > really the number I'm interested in - compile the entire image, and run 
 > the macro benchmarks and compare that. And not only would it be a good 
 > stress-test but for some applications (like our Croquet servers) that 
 > would be entirely reasonable; even desirable.

The short answer is it's not ready yet. That's what I'm working
on. Exupery normally crashes after about an hour of real
use. Reliability is improving but it's not yet ready for real use
except in very controlled ways.

The benchmarks I showed are for driving development, they must be
reasonably quick so they can be easily run during development. Total
test time should be only a few minutes. I'd say if both macro
benchmarks were providing over 10% performance gains then reliability
would be the top priority rather than one of the top priorities. 

Compiling the entire image is probably overkill and may eat a few
hundred megabytes of RAM. Bytecodes are a very dense format while
machine code isn't. Also Exupery at the moment needs to compile a
method once for each receiver, this is only required when compiling
primitives such as #at: and #new where it's useful to specialise the
compiled code for each different receiver. It would be easy to re-use
the same compiled code for multiple receivers but this hasn't yet been
done. It's not been a problem when compilation is driven from a
profiler.

Bryce



More information about the Squeak-dev mailing list