mirror of
https://github.com/python/cpython.git
synced 2025-07-19 01:05:26 +00:00
Add more stats for freelist use and allocations. (GH-92211)
This commit is contained in:
parent
e8d7661ff2
commit
836b17c9c3
9 changed files with 43 additions and 0 deletions
|
@ -351,6 +351,7 @@ _context_alloc(void)
|
|||
state->numfree--;
|
||||
ctx = state->freelist;
|
||||
state->freelist = (PyContext *)ctx->ctx_weakreflist;
|
||||
OBJECT_STAT_INC(from_freelist);
|
||||
ctx->ctx_weakreflist = NULL;
|
||||
_Py_NewReference((PyObject *)ctx);
|
||||
}
|
||||
|
@ -482,6 +483,7 @@ context_tp_dealloc(PyContext *self)
|
|||
state->numfree++;
|
||||
self->ctx_weakreflist = (PyObject *)state->freelist;
|
||||
state->freelist = self;
|
||||
OBJECT_STAT_INC(to_freelist);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
|
|
|
@ -183,7 +183,12 @@ print_call_stats(FILE *out, CallStats *stats)
|
|||
static void
|
||||
print_object_stats(FILE *out, ObjectStats *stats)
|
||||
{
|
||||
fprintf(out, "Object allocations from freelist: %" PRIu64 "\n", stats->from_freelist);
|
||||
fprintf(out, "Object frees to freelist: %" PRIu64 "\n", stats->to_freelist);
|
||||
fprintf(out, "Object allocations: %" PRIu64 "\n", stats->allocations);
|
||||
fprintf(out, "Object allocations to 512 bytes: %" PRIu64 "\n", stats->allocations512);
|
||||
fprintf(out, "Object allocations to 4 kbytes: %" PRIu64 "\n", stats->allocations4k);
|
||||
fprintf(out, "Object allocations over 4 kbytes: %" PRIu64 "\n", stats->allocations_big);
|
||||
fprintf(out, "Object frees: %" PRIu64 "\n", stats->frees);
|
||||
fprintf(out, "Object new values: %" PRIu64 "\n", stats->new_values);
|
||||
fprintf(out, "Object materialize dict (on request): %" PRIu64 "\n", stats->dict_materialized_on_request);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue