[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: [fricas-devel] Re: Solving linear equations

From: Martin Rubey
Subject: [Axiom-developer] Re: [fricas-devel] Re: Solving linear equations
Date: 22 Mar 2008 11:50:34 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Waldek Hebisch <address@hidden> 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?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]