On 12/24/23 09:41, Waldek Hebisch wrote:

Well, with this '$timedNameStack' is balanced.  But there is still
trouble with acconting: since 'stopTimingProcess' was not called
we will either ignore or assign to wrong context resources used
in context that did 'THROW'.

If there's throw to top level, then stats will not be printed,
so there's no need to continue collect stats.

Forget about toplevel.  This tread is above recursive calls.
In particular algebra may perform call to interpreter and
catch errors.  When algebra returns to outer interpreter
we should print statistics.  Similar thing happens inside
interpreter.

BTW: It is debatable if not printing stats in case of errors
is right thing to do.


"When algebra returns to outer interpreter", the $timedNameStack
in outer interpreter is not affected by inner interpreter.
The total time spent in inner interpreter is accounted under
"evaluation" of outer interpreter.

Can you give an example (inner interpreter catches exception)
so that I can verify if it messes up stats accounting?

- Qian

--
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/a69e58b5-524d-4e79-9408-f271f42786db%40gmail.com.

Reply via email to