The current x2 speed boost is due only to spur, not to sista. Sista will provide additional performance, but we have still things to do before production.
The performance gain reported is due to (from most important to less important):
- the new GC has less overhead. 30% of the execution time used to be spent in the GC.
- the new object format speeds up some VM internal caches (especially inline caches for message sends due to an indirection for object classes with a class table).
- the new object format allows some C code to be converted into machine code routines, including block creation, context creation, primitive #at:put:, which is faster because switching from jitted code to C then back to jitted code generate a little overhead.
- characters are now immediate objects, which speeds up String accessing.
- the new object format has a larger hash which speeds up big hashed collections such as big sets and dictionaries.
- become is faster.
��