[virtmach] VM with garbage collection

Stephen Pelc Stephen Pelc <sfp@mpeltd.demon.co.uk>
Fri, 11 Jan 2002 15:28:18 -0000


From:           	"Durchholz, Joachim" <Joachim.Durchholz@halstenbach.de>
> > From: Chris Dollin [mailto:kers@hplb.hpl.hp.com]
> > 
> >     * given the overheads of an interpreted VM, one extra
> >        indirection in the relevant instructions isn't much overhead
> 
> This cuts the other side as well: since VMs are so slow, any speedup that
> can be taken should be taken. This makes the difference between overhead
> factors of 10 and 1000.
> Besides, VM optimizations are the most rewarding, since they will speed up
> the entire software. Any optimization further up in the software layers will
> have a lower payoff.
We (MPE) designed the VM that became Europay's OTA VM. After 
that project finished we measured the size of compressed source 
code against the size of the portable binary. In most cases, 
after comment removal, the compressed source was only about 30% 
larger than the binary.

One conclusion I draw from this is that implementing a simple 
one-pass compiler on the target node may remove most 
interpretation overhead with little code size increase in target 
resources except for RAM to run the loaded binary. A combination 
of install-time and JIT compilation could be used to reduce 
resources if a node keeps many applications in store.

Another conclusion after profiling OTA applications is that for 
a VM tailored to the application, the application was spending 
far more time in the O/S services than running primitive tokens.

Stephen

--
Stephen Pelc, sfp@mpeltd.demon.co.uk
MicroProcessor Engineering Ltd - More Real, Less Time
133 Hill Lane, Southampton SO15 5AF, England
tel: +44 23 80 631441, fax: +44 23 80 339691
web: http://www.mpeltd.demon.co.uk - free VFX Forth downloads