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
|