On Wed, Sep 29, 2010 at 11:41 PM, Igor Stasenko <[email protected]> wrote:
> On 30 September 2010 06:20, Schwab,Wilhelm K <[email protected]> > wrote: > > One really crazy idea: inline C. Is there any way that one could put C > code into a method, have it compiled and captured somehow as part of the > image? Perhaps I am underestimating Cog and will soon not need to bother > with stuff like this, but a recent addition was > > > > void LogOnePlus(double * data, unsigned long size) > > /* > > Add one and take log10() over the buffer; in-place transformation! > > */ > > { > > for(unsigned long i=0; i<size; i++){ > > data[i] = log10(data[i]+1); > > } > > } > > > > That's a simple calculation, but do it millions of times and it adds up. > Even if Cog is sufficiently far reaching to translate such things, there > are still times when C/C++ does a far nicer job of translating formulas than > does Smalltalk. Like I said, it's a crazy idea, and if I have to choose, > I'd rather have callbacks :) > > > > Of course its possible. > After porting C parser/compiler into smalltalk :) > Or perhaps some meta-language which looks like C, but which easier to > translate to native code. Indeed. It might be less work to just make the Smalltalk run as fast as the equivalent C code (using a bit of dynamic, run time optimization). - Stephen
_______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
