Just a thought, I would say that Lukas Helvetia framework could be used here, to cleanly embed C++, C or whatever you like syntax into the existing Smalltalk ambient.
So in the background NativeBoost would behave more uniformly, because everything in the end is smalltalk code. Fernando On Oct 1, 2010, at 8:39 AM, Schwab,Wilhelm K wrote: > Sig, > > I'm pointing out that "do it all in Smalltalk" has limits, both in syntax > (C++ is generally a better formula translator than Smalltalk; Smalltalk is > better at expressing just about anything else) and in performance, unless you > can stop boxing/unboxing the floats, which it sounds like you can't. > > One performance penalty that I look forward to suffering is to have an > external library calling into Pharo to do function evaluations. In most > cases, the number of operations will be small and the convenience of having > the code in the image will be most welcome. > > Bill > >>> ...... >>> ________________________________________ >>> From: [email protected] >>> [[email protected]] On Behalf Of Stephen Pair >>> [[email protected]] >>> Sent: Thursday, September 30, 2010 11:33 AM >>> To: [email protected] >>> Subject: Re: [Pharo-project] NativeBoost and Cog. A working protype. >>> >>> On Wed, Sep 29, 2010 at 11:41 PM, Igor Stasenko >>> <[email protected]<mailto:[email protected]>> wrote: >>> On 30 September 2010 06:20, Schwab,Wilhelm K >>> <[email protected]<mailto:[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. >>> _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
