You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sometimes we need to classify stats by name from an unknown set.
For example, 94% of the specialization failures for the CALL instruction is "class no vectorcall".
This is valuable information and suggests we need to implement more vectorcalls for classes.
But it doesn't tell us which classes lack vectorcalls.
Proposal
For some stats, e.g. call specialization we add the ability to record names.
If we record the first N names seen, provided N is large enough, we will see the most common names.
To avoid complications with objects and memory allocation distorting the stats, we can pre-allocate a fixed size array char names[N][M], as well as the usual table of uint64_t counts. For a table size 256, with up to 63 char names, this only uses 18kb.
The text was updated successfully, but these errors were encountered:
The API would look something like: INC_STAT_FOR_NAME(stat_id, name)
where stat_id is the stat field name(s), e.g. call.classes and the name is a const char * name.
Motivation
Sometimes we need to classify stats by name from an unknown set.
For example, 94% of the specialization failures for the
CALL
instruction is "class no vectorcall".This is valuable information and suggests we need to implement more vectorcalls for classes.
But it doesn't tell us which classes lack vectorcalls.
Proposal
For some stats, e.g. call specialization we add the ability to record names.
If we record the first N names seen, provided N is large enough, we will see the most common names.
To avoid complications with objects and memory allocation distorting the stats, we can pre-allocate a fixed size array
char names[N][M]
, as well as the usual table of uint64_t counts. For a table size 256, with up to 63 char names, this only uses 18kb.The text was updated successfully, but these errors were encountered: