Seems like ")trace" can count function calls:
)trace COMPLEX )math )count
complex(2,3)^2
)trace )stats
--------------------- Traced function execution counts ---------------------
Complex.*,33 : 1 times
Complex.+,31 : 0 times
Complex.-,32 : 0 times
Complex.OMwrite,20 : 0 times
Complex.coerce,29 : 0 times
Complex.complex,30 : 1 times
Complex.exquo,41 : 0 times
Complex.imag,15 : 7 times
Complex.one?,28 : 0 times
Complex.real,13 : 7 times
Complex.zero?,26 : 0 times
- Qian
On 5/29/24 08:00, Grégory Vanuxem wrote:
Hello,
Is there an already implemented way to count the number of Spad
function calls needed to compute a more general computation? I could
add a global counter to a routine/macro like spadcall or something
like that, but I am wondering if this was already done? I don't think
it is simple. I have seen in the code some comments about this but I
do not know how to do it exactly. As an illustration, in the Complex(R
: CommutativeRing) domain there is this comment:
Ops ==>
x + y == [x.real + y.real, x.imag + y.imag]
-- by re-defining this here, we save 5 fn calls
x - y == [x.real - y.real, x.imag - y.imag]
x : % * y : % ==
[x.real * y.real - x.imag * y.imag,
x.imag * y.real + y.imag * x.real] -- here we save nine!
if R is DoubleFloat then
-- we inline from DoubleFloat here
Ops
else
-- general case
Ops
- Greg
--
You received this message because you are subscribed to the Google Groups "FriCAS -
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/dc568fe3-b55f-4a3c-aafe-d8bdbcd7853a%40gmail.com.