Looking at http://bugs.squeak.org/view.php?id=5331, it appears that problem lie in a primitive plugin.
Obviously, this is a lot harder to maintain than smalltalk code. I need at least: - to load VMMaker - to know a bit of Slang - to know how to use VMMaker (from within Smalltalk) - to know how to compile C code produced Much more than a one hour squeak distraction...
And for maintainers, to compile the plugins on each and every machine, update the sites etc... More boring than just uploading an image.
Is it a dream that Exupery could magically do exactly the same job? (with a productivity increased x100)
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 ?
Just my 0.02€...
Nicolas
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
squeak-dev@lists.squeakfoundation.org