Exupery and slang/plugin

bryce at kampjes.demon.co.uk bryce at kampjes.demon.co.uk
Thu Apr 12 13:35:46 UTC 2007


nicolas cellier writes:
 > Is it a dream that Exupery could magically do exactly the same job? 
 > (with a productivity increased x100)

It is a dream now but one that could become real. The long term goal
for Exupery has always been to provide near C speeds for normal
Smalltalk. To be that fast will require much more than will be in the
1.0 release.

The major cost left in Exupery's code is likely to be range checking
during array accesses. With a decent optimizer most range checking
should be able to be removed without compromising safety. 

 > The idea for such a primitive not requiring external call, is that 
 > Exupery could be specially optimized to generate native binary code 
 > (instead of C code) based on same slang hints. Possible ?

It would be possible to add a pragma that stopped Exupery from
generating range checks. That might be competitive with Slang. Well
after implementing the #at: and #at:put: primitives in Exupery for the
classes used. However, the better, but larger solution is to write a
decent optimizer to allow fast safe code without any pragmas.

Exupery compiles Smalltalk, not C with Smalltalk syntax. The ideal
solution is to make Exupery fast enough that those primitives are
removed. That is my goal.

Bryce



More information about the Squeak-dev mailing list