[e-lang] Fwd: Sun has released the Strongtalk VM as Open Source.

Mark Miller erights at gmail.com
Tue Sep 12 14:50:48 CDT 2006


Perhaps a better basis for an E-on-Smalltalk?

-------- Original Message --------
Subject: 	Re: [OT] Sun has released the Strongtalk VM as Open Source.
Date: 	Tue, 12 Sep 2006 07:59:08 -0700
From: 	Dan Ingalls <Dan at SqueakLand.org>
Reply-To: 	The general-purpose Squeak developers list
<squeak-dev at lists.squeakfoundation.org>
To: 	The general-purpose Squeak developers list
<squeak-dev at lists.squeakfoundation.org>
References: 	<BAY114-DAV718F5FEF40E487C533ED9AE2B0 at phx.gbl>


> I just caught this on the Strongtalk mailing list, and thought that it
> may be of
> interest to some of you. See  http://www.strongtalk.org  for more info.

This could be the most important thing to happen in the Smalltalk
community in years.  The Strongtalk VM was faster than any other when it
was written, and I believe it is still comparable to the VisualWorks VM
(it would be fun to test).

One could ignore the type system and simply port all of Squeak into
Strongtalk (of course there are parts of Strongtalk that are better and
should not be lost ;-).  Then, or in the process, if one did a tasteful
job of supporting the types optionally (ie a browser switch to show them
or not), it would be the first opportunity to have the best of both
worlds in Smalltalk -- or anywhere for that matter.

The Strongtalk VM is organized as a high-performance interpreter (2-3
times Squeak speed, I believe), and an inlining JIT that achieves
roughly 6x Squeak speed.  Gilad reports the following on his Intel Mac:

        Squeak 3.8    345,712,356 bytecodes/sec;  7,855,215 sends/sec
        Strongtalk  1,805,996,472 bytecodes/sec; 48,075,256 sends/sec

My mind reels at these numbers.  Moreover Robert Griesemer had a design
for an even better JIT and, if this became an active project, I bet he
would help out.

Strongtalk is set up to support native windows, and it probably makes
sense to keep it that way, but this would be a parting of the ways from
Squeak's run-anywhere agility. It would be nice to introduce a layer in
the UI with a separate bitblt-only implementation to retain extreme
portability.

The VM is not simple -- it is a large body of C++ code.  However it was
written by smart people and is well-organized (I haven't looked through
it carefully).  It probably has some bugs, and it may take some
archaeology to get it all to compile with the latest tools.

That said, I think there would be a tremendous reward for doing the
work.  The ironman engineering of Strongtalk seems a perfect match for
Squeak's cheerful insouciance.

        - Dan


More information about the e-lang mailing list