From: Sergey Matveev Date: Mon, 16 Jun 2025 09:11:52 +0000 (+0300) Subject: Count number of reallocs X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=ccaac122f3a1fdf208c35b657a01eea57427bf53326fe31ac4beb76fc3821ae0;p=keks.git Count number of reallocs --- diff --git a/c/lib/items.c b/c/lib/items.c index 7d18f95..7d3fc7e 100644 --- a/c/lib/items.c +++ b/c/lib/items.c @@ -32,6 +32,7 @@ KEKSItemsInit(struct KEKSItems *items, const ptrdiff_t initialLen) { items->len = 0; items->cap = initialLen; + items->reallocs = 0; items->list = calloc((size_t)(items->cap), sizeof(struct KEKSItem)); if (items->list == NULL) { return KEKSErrNoMem; @@ -89,6 +90,7 @@ KEKSItemsGrow(struct KEKSItems *items) } size_t begin = items->len * sizeof(struct KEKSItem); memset((unsigned char *)(items->list) + begin, 0, size - begin); + items->reallocs++; if (items->offsets != NULL) { size = (size_t)(items->cap) * sizeof(size_t); diff --git a/c/lib/items.h b/c/lib/items.h index 7828c38..0192c91 100644 --- a/c/lib/items.h +++ b/c/lib/items.h @@ -52,6 +52,7 @@ struct KEKSItems { struct KEKSItem *list; size_t *offsets; size_t len; + size_t reallocs; ptrdiff_t cap; };