VM & Runtime stack

bryce at kampjes.demon.co.uk bryce at kampjes.demon.co.uk
Mon Jul 16 21:02:18 UTC 2007


Klaus D. Witzel writes:
 > FWIW, over in the newcompiler list we recently discussed various  
 > implementation details, from the new compiler down to the VM level, of  
 > full BlockClosures. It turned out that as soon as BlockClosures receive  
 > full (performant) support from the VM then breaking the recycleable  
 > context rule no longer occurs and recycling can happen 100%[tm]. We  
 > haven't looked at process switch and GC (adaptation is possibly easy).

I just benchmarked with and without context recycling
using tiny benchmarks:

Benchmarks with a vanilla VM:
233,151,183 bytecodes/sec; 7,028,070 sends/sec
Benchmarks without context recycling:
232,939,035 bytecodes/sec; 4,022,730 sends/sec

I remember it being worth more than these figures show but it's still
very significant. I benchmarked on a 2.2GHz Athlon 64 3500+.

I wouldn't be surprised if the benefit changes drastically with
CPU and possibly the send benchmark chosen.

Bryce



More information about the Squeak-dev mailing list