More fun with VMs

Dan Ingalls Dan at SqueakLand.org
Thu Mar 23 14:54:33 UTC 2006


Bryce Kampjes <bryce at kampjes.demon.co.uk> wrote...

>My plan current to introduce dynamic method inlining based heavily on
>Urs Holzle's Self work to Exupery after finishing a 1.0. That will
>completely remove the context creation costs from the most frequently
>used sends. Dynamic method inlining has the advantage that it can
>eliminate the sends from #do: loops as well as from leaf methods.

I agree that inlining is the ultimate way to go here.  You can see lazy activation as a sort of lazy approach to inlining, but inlining is better because it eliminates the lookup and context switch times completely (when possible (which is typically very often)).

>However, for Exupery, finishing 1.0 is much more important than adding
>dynamic method inlining. A mere 2.5 times gain in send performance is
>enough to provide a practical speed improvement. For now my time is
>better spent first debugging compiled blocks then fixing minor issues
>that limit Exupery's current usefulness.

I certainly agree that a bird in the hand is worth two in the bush, and I'm especially glad that you feel that way.  Let's hear it for completion of 1.0!

- Dan



More information about the Squeak-dev mailing list