Mario Wolczko mario.wolczko at
Sat Jul 3 21:08:09 UTC 2004

> Is the HotSpot VM faster than Self? 

I sure hope so.  There has been at least 10x, and maybe as much as
50x, applied man-years to HotSpot as to Self, and they started with
the Self VM.  I personally had as many as a dozen guys standing on my
shoulders at one time ;-)

Off the top of my head, these are the salient differences:
- HotSpot uses native threads, and so can take advantage of multiple
- HotSpot has a sophisticated interpreter in place of Self's NIC.
- The HotSpot client compiler is roughly comparable in sophistication
  to the Self SIC, except that it does not inline quite as
  aggresively, nor have so many optimization levels.
- The HotSpot server compiler is a big, complicated, SSA-based
  compiler that has a level of sophistication approaching that of a
  good optimizing C/C++/Fortran compiler.
- HotSpot has several garbage collectors, most of which are either
  concurrent (run alongside the mutator) and/or parallel (use multiple

That said, the Self VM 
 - better supports programming changes (HotSpot allows method
   redefinition, but not structural class changes)
 - has an expandable, segmented heap, with the heap expansion policy
   in Self (I am crowing about this because I wrote it, and just
   helped Dave debug and improve it!)
 - has a much faster bytecode verifier ;-)

I'm sure there are some differences I've forgotten.

More information about the Self-interest mailing list