Speedup from Exupery for SqueakElib

bryce at kampjes.demon.co.uk bryce at kampjes.demon.co.uk
Sun Nov 18 21:30:01 UTC 2007


Hi,
Thanks for your interest in Exupery. First, Exupery will probably
provide a speed up now but it will also cause crashed and bugs.
I'd suggest delaying integration until Exupery is more stable..

If you're interested in helping to debug Exupery, that would be
great. At this stage, it's probably more sensible to talk, use Exupery
as an excuse to delay optimising but keep your options open. Building
one experiment on top of another multiplies risks a little too much
for my tastes. From what I understand, it's really the potential of
full method inlining that should be most interesting for your project
but that's not planned until after Exupery's 1.0 release.

That said, if you're interested in knowing what Exupery can do now, or
should be able to do in the future feel free to ask or play with it. 
There's prebuilt VM's for all major platforms though the Mac one is
compiled without C compiler optimisation here:

  http://wiki.squeak.org/squeak/Exupery

Rob Withers writes:
 > Hi All!
 > 
 > I have reached step 2.4 in my SqueakElib plan documented here: 
 > http://wiki.squeak.org/squeak/6011, but I don't know anything about Exupery. 
 > I suppose my first question is whether I am right in assuming that I will 
 > see speedups if I incorporate Exupery?
 > 
 > My next question is related to the work I did in steps 1.3, 1.4, and 1.5.  I 
 > modified the VM to use larger contexts (80+7), to add extra long jump 
 > bytecodes for jump:, jumpIfTrue: and jumpIfFalse:, and to add bytecodes for 
 > doing receiver class tests.  Will these additions cause problems with 
 > Exupery?

It'll take some work but not too much. Exupery has it's own context
classes which will need to be enlarged. This should be fairly easy to
do. The same with adding extra log jump bytecodes.

 > If all is ok so far, I want to build my modified Windows VM with Exupery, so 
 > I am reading http://wiki.squeak.org/squeak/5904.  I am confused as to which 
 > VMMaker I can use to build.  I currently have VMMaker-tpr.58.mcz loaded. 
 > Can you confirm that I need to either overwrite this VMMaker with the one 
 > from the Exupery repository or that I need to build fresh with the one from 
 > the Exupery repository?   Also, where is the VMMaker from the Exupery 
 > repository - where is the Exupery repository?  Finally, what is the best 
 > Subversion client for Windows and how do I connect to this Exupery 
 > repository?
 
Instructions on building on Windows are here:
http://wiki.squeak.org/squeak/5904

I've only done builds on Linux.

The Exupery source is held on SqueakSource here:
http://www.squeaksource.com/Exupery

Bryce

P.S. I'd suggest using the latest Exupery version from SqueakSource
published today rather than the released version. I just fixed an
important bug that makes it much more stable.


More information about the Exupery mailing list