MEMOIZE-SUMMARY

memoized-summary displays info about memoized functions.
Major Section:  OTHER

From the ACL2 logical point of view, (MEMOIZE-SUMMARY) merely returns NIL; however, it also reports on the calls to the members of (MEMOIZED-FUNCTIONS). Each outermost call of a memoized function is both counted and timed. Recursive calls are not timed. Recursive calls are counted unless a function was memoized with the :INLINE parameter NIL. A function is billed for the time used by its subroutines, including recursive calls of itself.

In the report, functions are sorted by the value of the symbol *MEMOIZE-SUMMARY-ORDER*, a function that return rationals on which to sort. Examples of such functions are BYTES-USED, EVENT-NUMBER, EXECUTION-ORDER, HITS/CALLS, HONS-CALLS, TOTAL-TIME, TIME/CALL, and NUMBER-OF-CALLS. Default is TOTAL-TIME. Change *MEMOIZE-SUMMARY-ORDER* in raw Lisp.

When *MEMOIZE-SUMMARY-SHOW-TABLES* is T, information about the sizes of memoize tables is printed. Change *MEMOIZE-SUMMARY-SHOW-TABLES* in raw Lisp.

(CLEAR-MEMOIZE-TABLES) clears away all remembered function values. (CLEAR-COUNTERS) clears all counting and timing information for all memoized functions. (UNMEMOIZE-ALL) undoes all memoization.

Times reported are all wall-clock times, unless run-time is explicitly mentioned. Time is reported in seconds.