Waldek Hebisch <[EMAIL PROTECTED]> writes:

> Well, what you see here?  I see function calls :) All Spad function calls
> crossing constructor boundary are indirect function calls, which basically
> gives Lisp compiler almost no chance to optimize.  Some functions are
> inlined, in such case Lisp compiler may give much better code.  For this to
> happen there are two conditions: constructor must be mentioned in
> '$optimizableDomainNames' list and there must be 'SPADreplace' propery on the
> Lisp name of the function.  Spad compiler puts this property only on
> functions it considers simple enough, apparently 'qelt' is deemed too
> complicated (in IIARRAY2 only 'empty' and 'nrows' have this property).
> 
> I think that key to speeding arrays is to find out how to inline 'qelt' (and
> relatives).

Do you know, or can you point me to, the place where SPADreplace is used?  Up
to now I thought the lisp compiler would just compile the code.lsp files, but
how would it make use of the SPADreplace property then?

Martin


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
open-axiom-devel mailing list
open-axiom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/open-axiom-devel

Reply via email to