[CM] profile: prepend namespace to the function name

bil at ccrma.Stanford.EDU bil at ccrma.Stanford.EDU
Tue Sep 28 07:25:03 PDT 2021

I was thinking along the lines Christos mentioned --
that there might be any number of "inits" or whatever.
I can pass the profile position to the profiler
functions (I think), so it won't be necessary to
use the function name for that, so my current idea is to pass
into scheme via (*s7* 'profile-info), the function
name (a symbol), the timing data (a vector), and
the ticks-per-second (as currently, so that it is
backwards compatible with profile.scm), then include
either the function itself for access to its
file/line data and environment (but this requires
GC protection), or perhaps the location data
and the local profile-let-name if any.  This way the profiler
overhead is minimized, and profile.scm can
disambiguate same-name functions; it could include
a way for the caller to format output and names, etc.
A function can be local to some other function,
and created anew on every call of the outer function,
so I'm leaning toward the file/line + profile-let-name
choice.  Maybe a function-local name formatter
could be implemented via a local object->string method?

More information about the Cmdist mailing list