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

Reply via email to